diff --git a/app/graphql/schema.graphql b/app/graphql/schema.graphql index 9e1661174..15cdb6803 100644 --- a/app/graphql/schema.graphql +++ b/app/graphql/schema.graphql @@ -385,6 +385,7 @@ type Dossier { """ dateTraitement: ISO8601DateTime demandeur: Demandeur! + groupeInstructeur: GroupeInstructeur! id: ID! instructeurs: [Profile!]! messages: [Message!]! diff --git a/app/graphql/types/dossier_type.rb b/app/graphql/types/dossier_type.rb index 5cfe64b81..77026ef92 100644 --- a/app/graphql/types/dossier_type.rb +++ b/app/graphql/types/dossier_type.rb @@ -35,6 +35,8 @@ module Types field :messages, [Types::MessageType], null: false field :avis, [Types::AvisType], null: false + field :groupe_instructeur, Types::GroupeInstructeurType, null: false + def state object.state end @@ -47,6 +49,10 @@ module Types Loaders::Association.for(object.class, :followers_instructeurs).load(object) end + def groupe_instructeur + Loaders::Record.for(GroupeInstructeur).load(object.groupe_instructeur_id) + end + def messages Loaders::Association.for(object.class, commentaires: [:instructeur, :user]).load(object) end diff --git a/spec/controllers/api/v2/graphql_controller_spec.rb b/spec/controllers/api/v2/graphql_controller_spec.rb index eaab82e2f..feab5a789 100644 --- a/spec/controllers/api/v2/graphql_controller_spec.rb +++ b/spec/controllers/api/v2/graphql_controller_spec.rb @@ -201,6 +201,10 @@ describe API::V2::GraphqlController do id email } + groupeInstructeur { + id + label + } messages { email body @@ -255,6 +259,10 @@ describe API::V2::GraphqlController do email: instructeur.email } ], + groupeInstructeur: { + id: dossier.groupe_instructeur.to_typed_id, + label: dossier.groupe_instructeur.label + }, demandeur: { id: dossier.individual.to_typed_id, nom: dossier.individual.nom,