Sha256: 57b1df8c9fc863d2d1cbc44fd7430e2399b43eb916a185d7d61cde6792935487

Contents?: true

Size: 1.11 KB

Versions: 8

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module Overrides
  class SessionsController < DeviseJwtAuth::SessionsController
    OVERRIDE_PROOF = '(^^,)'

    def create
      @resource = resource_class.dta_find_by(email: resource_params[:email])

      if @resource && valid_params?(:email, resource_params[:email]) && @resource.valid_password?(resource_params[:password]) && @resource.confirmed?
        auth_header = @resource.create_named_token_pair
        @resource.save

        render json: {
          data: @resource.as_json(except: %i[tokens created_at updated_at]),
          override_proof: OVERRIDE_PROOF
        }.merge(auth_header)

      elsif @resource && !@resource.confirmed?
        render json: {
          success: false,
          errors: [
            "A confirmation email was sent to your account at #{@resource.email}. "\
            'You must follow the instructions in the email before your account '\
            'can be activated'
          ]
        }, status: 401

      else
        render json: {
          errors: ['Invalid login credentials. Please try again.']
        }, status: 401
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
devise_jwt_auth722-0.1.7 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth7-0.1.7 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth-0.4.1 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth-0.4.0 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth-0.3.0 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth-0.2.0 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth-0.1.7 test/dummy/app/controllers/overrides/sessions_controller.rb
devise_jwt_auth-0.1.6 test/dummy/app/controllers/overrides/sessions_controller.rb