module Mutations class DossierSupprimerMessage < Mutations::BaseMutation description "Supprimer un message." argument :message_id, ID, required: true, loads: Types::MessageType argument :instructeur_id, ID, required: true, loads: Types::ProfileType field :message, Types::MessageType, null: true field :errors, [Types::ValidationErrorType], null: true def resolve(message:, **args) message.soft_delete! { message: } end def authorized?(message:, instructeur:, **args) if !message.soft_deletable?(instructeur) return false, { errors: ["Le message ne peut pas ĂȘtre supprimĂ©"] } end dossier_authorized_for?(message.dossier, instructeur) end end end