Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(graphql): use camelize with inflection #9367

Merged
merged 1 commit into from
Aug 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -322,8 +322,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