diff options
author | HombreLaser <sebastian-440@live.com> | 2023-02-26 20:19:22 -0600 |
---|---|---|
committer | HombreLaser <sebastian-440@live.com> | 2023-02-26 20:19:22 -0600 |
commit | c86a5c9e05b183f10a63fb693c8af1d1d5a52e97 (patch) | |
tree | b8dd53b21b7e6ef9450ceeea3c61208a32052c64 /app/controllers/application_controller.rb | |
parent | 64171389726e6fde709f3f567eb27c5c94496b81 (diff) |
Refactoriza los create logics
Diffstat (limited to 'app/controllers/application_controller.rb')
-rw-r--r-- | app/controllers/application_controller.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 857414a..ea108b4 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -5,4 +5,23 @@ class ApplicationController < ActionController::API def logic(permitted_params) @logic = Object.const_get("#{self.class}::#{action_name.camelize}Logic").new(permitted_params) end + + protected + + def current_user_account + return if decoded_token.nil? + + email = decoded_token[0]['data'] + @current_user_account ||= UserAccount.find_by(email:) + end + + def authentication_token + @authentication_token ||= request.headers[:authorization]&.sub(/^Bearer /, '') + end + + def decoded_token + @decoded_token ||= JWT.decode(authentication_token, ENV['HMAC_SECRET_KEY'], true, { algorithm: 'HS512' }) + rescue JWT::ExpiredSignature + @decoded_token = nil + end end |