class FlimperPoncho::Users::Queries::Find
Public Class Methods
new(jwt_token:)
click to toggle source
# File lib/flimper_poncho/users/queries/find.rb, line 5 def initialize(jwt_token:) @jwt_token = jwt_token end
Public Instance Methods
run()
click to toggle source
# File lib/flimper_poncho/users/queries/find.rb, line 9 def run OpenStruct.new(id: decoded_jwt['id'], email: decoded_jwt['email'], permissions: permissions) end
Private Instance Methods
decoded_jwt()
click to toggle source
# File lib/flimper_poncho/users/queries/find.rb, line 15 def decoded_jwt @decoded_jwt ||= JWT.decode(@jwt_token, ENV.fetch('PONCHO_API_SIGNATURE_KEY'), true, algorithm: 'HS256')[0] end
permissions()
click to toggle source
# File lib/flimper_poncho/users/queries/find.rb, line 19 def permissions @permissions ||= decoded_jwt.dig('permissions').map do |perm| OpenStruct.new(email: perm['email'], resource_code: perm['resource_code'], level: perm['level']) end end