# frozen_string_literal: true class CustomWizard::WizardController < ::CustomWizard::WizardClientController def show if wizard.present? render json: CustomWizard::WizardSerializer.new(wizard, scope: guardian, root: false).as_json, status: 200 else render json: { error: I18n.t('wizard.none') } end end def skip params.require(:wizard_id) if wizard.required && !wizard.completed? && wizard.permitted? return render json: { error: I18n.t('wizard.no_skip') } end result = { success: 'OK' } if current_user && wizard.can_access? if redirect_to = wizard.current_submission&.redirect_to result.merge!(redirect_to: redirect_to) end wizard.cleanup_on_skip! end render json: result end protected def wizard @wizard ||= begin return nil unless @builder.present? @builder.build({ reset: params[:reset] }, params) end end end