class Permissions::Checkers::Template

Public Instance Methods

can_perform_action?() click to toggle source
# File lib/flimper_poncho/permissions/checkers/template.rb, line 6
def can_perform_action?
  permissions.include?(permission_query) || permissions.include?(permission_query.merge('level' => 'ADMIN'))
rescue JWT::DecodeError
  false
end

Private Instance Methods

decoded_jwt() click to toggle source
# File lib/flimper_poncho/permissions/checkers/template.rb, line 18
def decoded_jwt
  @decoded_jwt ||= JWT.decode(jwt_token, ENV.fetch('PONCHO_API_SIGNATURE_KEY'), true, algorithm: 'HS256')[0]
end
jwt_token() click to toggle source
# File lib/flimper_poncho/permissions/checkers/template.rb, line 26
def jwt_token
  raise NotImplementedError
end
permission_query() click to toggle source
# File lib/flimper_poncho/permissions/checkers/template.rb, line 22
def permission_query
  raise NotImplementedError
end
permissions() click to toggle source
# File lib/flimper_poncho/permissions/checkers/template.rb, line 14
def permissions
  decoded_jwt.dig('permissions') || []
end