diff options
Diffstat (limited to 'app/controllers/api/authentications_controller.rb')
-rw-r--r-- | app/controllers/api/authentications_controller.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/app/controllers/api/authentications_controller.rb b/app/controllers/api/authentications_controller.rb index 3eb52c7..b9a6f08 100644 --- a/app/controllers/api/authentications_controller.rb +++ b/app/controllers/api/authentications_controller.rb @@ -4,20 +4,29 @@ module Api # The controller that handles authentications. class AuthenticationsController < ApplicationController def create - @token = logic(permitted_params).call + @current_user_account = UserAccount.find_by(email: permitted_params[:email]) - render json: @token, status: :ok and return if @token + unless @current_user_account&.authenticate(permitted_params[:password]) + render json: { error_message: 'Credenciales incorrectas' }, status: :unauthorized and return + end - render json: { error_message: 'Credenciales incorrectas' }, status: :unauthorized + render json: generate_token, status: :ok end def destroy current_user_account.session_key = nil current_user_account.save + + render status: :no_content end private + def service_params + { email: @current_user_account.email, + role: @current_user_account.role } + end + def permitted_params params.require(:credentials).permit(:email, :password) end |