summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/api/sessions_controller.rb (renamed from app/controllers/api/authentications_controller.rb)12
-rw-r--r--config/routes.rb4
-rw-r--r--spec/controllers/sessions_controller_spec.rb8
-rw-r--r--spec/support/sessions_helper.rb2
4 files changed, 17 insertions, 9 deletions
diff --git a/app/controllers/api/authentications_controller.rb b/app/controllers/api/sessions_controller.rb
index ba60c1a..9d0e4ac 100644
--- a/app/controllers/api/authentications_controller.rb
+++ b/app/controllers/api/sessions_controller.rb
@@ -2,11 +2,11 @@
module Api
# The controller that handles authentications.
- class AuthenticationsController < ApplicationController
+ class SessionsController < ApplicationController
def create
- @current_user_account = UserAccount.find_by(email: permitted_params[:email])
+ @user_account = UserAccount.find_by(email: permitted_params[:email])
- unless @current_user_account&.authenticate(permitted_params[:password])
+ unless @user_account&.authenticate(permitted_params[:password])
render json: { error_message: 'Credenciales incorrectas' }, status: :unauthorized and return
end
@@ -14,7 +14,7 @@ module Api
end
def destroy
- current_user_account.update_attribute(:session_key, nil)
+ user_account.update_attribute(:session_key, nil)
render status: :no_content
end
@@ -22,8 +22,8 @@ module Api
private
def service_params
- { email: @current_user_account.email,
- role: @current_user_account.role }
+ { email: @user_account.email,
+ role: @user_account.role }
end
def permitted_params
diff --git a/config/routes.rb b/config/routes.rb
index 8a789a2..b3b67a8 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -6,8 +6,8 @@ Rails.application.routes.draw do
# Defines the root path route ("/")
# root "articles#index"
namespace :api do
- post '/authenticate', to: 'authentications#create'
- delete '/logout', to: 'authentications#destroy'
+ post '/login', to: 'sessions#create'
+ delete '/logout', to: 'sessions#destroy'
get '/user_account', to: 'user_accounts#show'
resources :user_accounts, only: %i[create]
resources :refresh_tokens, only: %i[create]
diff --git a/spec/controllers/sessions_controller_spec.rb b/spec/controllers/sessions_controller_spec.rb
new file mode 100644
index 0000000..1581ccc
--- /dev/null
+++ b/spec/controllers/sessions_controller_spec.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+
+require 'rails_helper'
+
+RSpec.describe Api::SessionsController, type: :controller do
+ it { should route(:post, '/api/login').to(action: :create) }
+ it { should route(:delete, '/api/logout').to(action: :destroy) }
+end
diff --git a/spec/support/sessions_helper.rb b/spec/support/sessions_helper.rb
index 7cc4d33..025f47e 100644
--- a/spec/support/sessions_helper.rb
+++ b/spec/support/sessions_helper.rb
@@ -6,7 +6,7 @@ require 'rails_helper'
module SessionsHelper
def jwt(user)
user_params = { credentials: { email: user.email, password: user.password } }
- post('/api/authenticate', params: user_params)
+ post('/api/login', params: user_params)
JSON.parse(response.body)
end
end