summaryrefslogtreecommitdiff
path: root/app/controllers/application_controller.rb
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2023-02-26 20:19:22 -0600
committerHombreLaser <sebastian-440@live.com>2023-02-26 20:19:22 -0600
commitc86a5c9e05b183f10a63fb693c8af1d1d5a52e97 (patch)
treeb8dd53b21b7e6ef9450ceeea3c61208a32052c64 /app/controllers/application_controller.rb
parent64171389726e6fde709f3f567eb27c5c94496b81 (diff)
Refactoriza los create logics
Diffstat (limited to 'app/controllers/application_controller.rb')
-rw-r--r--app/controllers/application_controller.rb19
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