Sha256: cf39baee3a5519b4370359dd91705b4dff3e6cfe93d0666d592b66d18ef6b88f
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true module GraphqlDevise module Resolvers class ConfirmAccount < Base argument :confirmation_token, String, required: true argument :redirect_url, String, required: true def resolve(confirmation_token:, redirect_url:) resource = resource_class.confirm_by_token(confirmation_token) if resource.errors.empty? yield resource if block_given? redirect_header_options = { account_confirmation_success: true } redirect_to_link = if controller.signed_in?(resource_name) url = resource.build_auth_url( redirect_url, redirect_headers( client_and_token(resource.create_token), redirect_header_options ) ) resource.save! url else DeviseTokenAuth::Url.generate(redirect_url, redirect_header_options) end controller.redirect_to(redirect_to_link) { authenticatable: resource } else raise_user_error(I18n.t('graphql_devise.confirmations.invalid_token')) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems