2024-04-29 00:17:15 +02:00
|
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2022-11-23 09:10:39 +01:00
|
|
|
|
module Mutations
|
|
|
|
|
class GroupeInstructeurModifier < Mutations::BaseMutation
|
|
|
|
|
description "Modifier un groupe instructeur."
|
|
|
|
|
|
2023-01-10 17:20:22 +01:00
|
|
|
|
argument :groupe_instructeur_id, ID, "Groupe instructeur ID.", required: true, loads: Types::GroupeInstructeurType
|
2022-11-23 09:10:39 +01:00
|
|
|
|
argument :label, String, "Libellé du groupe instructeur.", required: false
|
|
|
|
|
argument :closed, Boolean, "L’état du groupe instructeur.", required: false
|
|
|
|
|
|
|
|
|
|
field :groupe_instructeur, Types::GroupeInstructeurType, null: true
|
|
|
|
|
field :errors, [Types::ValidationErrorType], null: true
|
|
|
|
|
|
|
|
|
|
def resolve(groupe_instructeur:, label: nil, closed: nil)
|
2022-12-07 13:21:55 +01:00
|
|
|
|
if groupe_instructeur.update({ label:, closed: }.compact)
|
2023-06-28 11:00:25 +02:00
|
|
|
|
groupe_instructeur.procedure.toggle_routing
|
2023-06-14 19:38:19 +02:00
|
|
|
|
|
|
|
|
|
# ugly hack to keep retro compatibility
|
|
|
|
|
# do not judge
|
|
|
|
|
groupe_instructeur.procedure.update_groupe_instructeur_routing_roules!
|
|
|
|
|
|
2022-12-07 13:21:55 +01:00
|
|
|
|
{ groupe_instructeur: }
|
2022-11-23 09:10:39 +01:00
|
|
|
|
else
|
|
|
|
|
{ errors: groupe_instructeur.errors.full_messages }
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|