Class: Decidim::Proposals::UpdateProposalType
- Inherits:
-
Api::Types::BaseMutation
- Object
- Api::Types::BaseMutation
- Decidim::Proposals::UpdateProposalType
- Defined in:
- lib/decidim/api/mutations/update_proposal_type.rb
Instance Method Summary collapse
- #authorized?(attributes:, locale:, toggle_translations:) ⇒ Boolean
- #resolve(attributes:, locale:, toggle_translations:) ⇒ Object
Instance Method Details
#authorized?(attributes:, locale:, toggle_translations:) ⇒ Boolean
33 34 35 36 37 |
# File 'lib/decidim/api/mutations/update_proposal_type.rb', line 33 def (attributes:, locale:, toggle_translations:) raise Decidim::Api::Errors::MutationNotAuthorizedError, I18n.t("decidim.api.errors.unauthorized_mutation") unless super && allowed_to?(:edit, :proposal, object, context) true end |
#resolve(attributes:, locale:, toggle_translations:) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/decidim/api/mutations/update_proposal_type.rb', line 15 def resolve(attributes:, locale:, toggle_translations:) set_locale(locale:, toggle_translations:) params = extract_from(attributes) form = form(Decidim::Proposals::ProposalForm).from_params(params) UpdateProposal.call(form, current_user, object) do on(:ok) do |proposal| return proposal.reload end on(:invalid) do raise Decidim::Api::Errors::AttributeValidationError, form.errors end end end |