Sha256: c05608aec0fea6e3c265ba22e4e44854657e49c0a79727b8adb018cf77cc4111

Contents?: true

Size: 1.09 KB

Versions: 17

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module GraphqlDevise
  module Mutations
    class SendPasswordResetWithToken < Base
      argument :email,        String, required: true
      argument :redirect_url, String, required: true

      field :message, String, null: false

      def resolve(email:, redirect_url:)
        check_redirect_url_whitelist!(redirect_url)

        resource = find_resource(:email, get_case_insensitive_field(:email, email))

        if resource
          yield resource if block_given?

          resource.send_reset_password_instructions(
            email:         email,
            provider:      'email',
            redirect_url:  redirect_url,
            template_path: ['graphql_devise/mailer']
          )

          if resource.errors.empty?
            { message: I18n.t('graphql_devise.passwords.send_instructions') }
          else
            raise_user_error_list(I18n.t('graphql_devise.invalid_resource'), errors: resource.errors.full_messages)
          end
        else
          raise_user_error(I18n.t('graphql_devise.user_not_found'))
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
graphql_devise-1.3.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-1.2.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-1.1.1 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-1.1.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-1.0.1 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-1.0.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.18.2 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.18.1 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.18.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.17.1 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.17.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.16.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.15.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.14.3 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.14.2 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.14.1 lib/graphql_devise/mutations/send_password_reset_with_token.rb
graphql_devise-0.14.0 lib/graphql_devise/mutations/send_password_reset_with_token.rb