Skip to content

Commit

Permalink
feat(graphql): use camelize with inflection
Browse files Browse the repository at this point in the history
  • Loading branch information
tchak committed Jul 27, 2023
1 parent c315127 commit b465be5
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 8 deletions.
4 changes: 2 additions & 2 deletions app/graphql/api/v2/stored_query.rb
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,8 @@ def self.get(query_id)
dateFermeture
notice { url }
deliberation { url }
demarcheUrl
cadreJuridiqueUrl
demarcheURL
cadreJuridiqueURL
service @include(if: $includeService) {
...ServiceFragment
}
Expand Down
15 changes: 10 additions & 5 deletions app/graphql/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -1066,7 +1066,8 @@ type DemarcheDescriptor {
"""
URL du cadre juridique qui justifie le droit de collecter les données demandées dans la démarche
"""
cadreJuridiqueUrl: String
cadreJuridiqueURL: String
cadreJuridiqueUrl: String @deprecated(reason: "Utilisez le champ `cadreJuridiqueURL` à la place.")

"""
Date de la création.
Expand Down Expand Up @@ -1106,7 +1107,8 @@ type DemarcheDescriptor {
"""
URL pour commencer la démarche
"""
demarcheUrl: URL
demarcheURL: URL
demarcheUrl: URL @deprecated(reason: "Utilisez le champ `demarcheURL` à la place.")

"""
Description de la démarche.
Expand All @@ -1116,7 +1118,8 @@ type DemarcheDescriptor {
"""
URL ou email pour contacter le Délégué à la Protection des Données (DPO)
"""
dpoUrl: String
dpoURL: String
dpoUrl: String @deprecated(reason: "Utilisez le champ `dpoURL` à la place.")

"""
Durée de conservation des dossiers en mois.
Expand All @@ -1129,7 +1132,8 @@ type DemarcheDescriptor {
notice explicative de la démarche
"""
notice: File
noticeUrl: URL
noticeURL: URL
noticeUrl: URL @deprecated(reason: "Utilisez le champ `noticeURL` à la place.")

"""
Numero de la démarche.
Expand All @@ -1142,7 +1146,8 @@ type DemarcheDescriptor {
"""
URL où les usagers trouvent le lien vers la démarche
"""
siteWebUrl: String
siteWebURL: String
siteWebUrl: String @deprecated(reason: "Utilisez le champ `siteWebURL` à la place.")

"""
État de la démarche.
Expand Down
11 changes: 11 additions & 0 deletions app/graphql/types/demarche_descriptor_type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ class FindDemarcheInput < Types::BaseInputObject

field :duree_conservation_dossiers, Int, "Durée de conservation des dossiers en mois.", null: false

field :demarcheUrl, Types::URL, camelize: false, null: true, deprecation_reason: 'Utilisez le champ `demarcheURL` à la place.'
field :siteWebUrl, String, camelize: false, null: true, deprecation_reason: 'Utilisez le champ `siteWebURL` à la place.'
field :dpoUrl, String, camelize: false, null: true, deprecation_reason: 'Utilisez le champ `dpoURL` à la place.'
field :noticeUrl, Types::URL, camelize: false, null: true, deprecation_reason: 'Utilisez le champ `noticeURL` à la place.'
field :cadreJuridiqueUrl, String, camelize: false, null: true, deprecation_reason: 'Utilisez le champ `cadreJuridiqueURL` à la place.'

field :demarche_url, Types::URL, "URL pour commencer la démarche", null: true
field :site_web_url, String, "URL où les usagers trouvent le lien vers la démarche", null: true
field :dpo_url, String, "URL ou email pour contacter le Délégué à la Protection des Données (DPO)", null: true
Expand Down Expand Up @@ -77,22 +83,27 @@ def state
def demarche_url
Rails.application.routes.url_helpers.commencer_url(path: procedure.path)
end
alias demarcheUrl demarche_url

def dpo_url
procedure.lien_dpo
end
alias dpoUrl dpo_url

def notice_url
procedure.lien_notice
end
alias noticeUrl notice_url

def cadre_juridique_url
procedure.cadre_juridique
end
alias cadreJuridiqueUrl cadre_juridique_url

def site_web_url
procedure.lien_site_web
end
alias siteWebUrl site_web_url

def number
procedure.id
Expand Down
12 changes: 12 additions & 0 deletions config/initializers/graphql.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,15 @@
'API::V2::GraphqlController' => ['execute']
}
end

module GraphQL
class Schema
class Member
module BuildType
def self.camelize(string)
string.camelize(:lower)
end
end
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@
it {
expect(gql_errors).to be_nil
expect(gql_data[:demarcheDescriptor][:id]).to eq(procedure.to_typed_id)
expect(gql_data[:demarcheDescriptor][:demarcheUrl]).to match("commencer/#{procedure.path}")
expect(gql_data[:demarcheDescriptor][:demarcheURL]).to match("commencer/#{procedure.path}")
}
end

Expand Down

0 comments on commit b465be5

Please sign in to comment.