class Slots::JWT::PermissionFilter

Attributes

current_user[R]
schema_member[R]

Public Class Methods

new(current_user) click to toggle source
# File lib/slots/jwt/permission_filter.rb, line 6
def initialize(current_user)
  @current_user = current_user
end

Public Instance Methods

call(schema_member, ctx) click to toggle source
# File lib/slots/jwt/permission_filter.rb, line 10
def call(schema_member, ctx)
  @schema_member = schema_member
  return true if _dont_check?
  allowed?
end

Private Instance Methods

_dont_check?() click to toggle source
# File lib/slots/jwt/permission_filter.rb, line 19
def _dont_check?
  !schema_member.metadata[:has_required_permission]
end
is_admin() click to toggle source
# File lib/slots/jwt/permission_filter.rb, line 32
def is_admin
  valid_loaded_user && current_user.admin
end
required_permission() click to toggle source
# File lib/slots/jwt/permission_filter.rb, line 23
def required_permission
  schema_member.metadata[:required_permission]
end
valid_loaded_user() click to toggle source
# File lib/slots/jwt/permission_filter.rb, line 27
def valid_loaded_user
  return @valid_loaded_user if instance_variable_defined?(:@valid_loaded_user)
  @valid_loaded_user = current_user&.valid_in_database? && current_user.allowed_new_token?
end