demarches-normaliennes/app/graphql/mutations/dossier_archiver.rb
2024-08-22 09:26:48 +02:00

27 lines
834 B
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# frozen_string_literal: true
module Mutations
class DossierArchiver < Mutations::BaseMutation
description "Archiver le dossier."
argument :dossier_id, ID, "Dossier ID", required: true, loads: Types::DossierType
argument :instructeur_id, ID, "Instructeur qui prend la décision sur le dossier.", required: true, loads: Types::ProfileType
field :dossier, Types::DossierType, null: true
field :errors, [Types::ValidationErrorType], null: true
def resolve(dossier:, instructeur:)
dossier.archiver!(instructeur)
{ dossier: }
end
def authorized?(dossier:, instructeur:)
if !dossier.termine?
return false, { errors: ["Un dossier ne peut être archivé quune fois le traitement terminé"] }
end
dossier_authorized_for?(dossier, instructeur)
end
end
end