Class: OauthIm::UserClient

Inherits:
IdpClient show all
Includes:
HasRegistrationData
Defined in:
app/services/oauth_im/user_client.rb

Instance Attribute Summary collapse

Attributes inherited from IdpClient

#api_key, #idp_url

Instance Method Summary collapse

Methods included from HasRegistrationData

#active?, #first_name, #full_name, #last_name, #login_id, #registration, #registration_data, #registrations, #sponsor?, #user_is_sponsor?

Methods inherited from IdpClient

default_api_key, default_idp_url

Constructor Details

#initialize(user_jwt:, api_key: nil, idp_url: nil) ⇒ UserClient

Returns a new instance of UserClient.



11
12
13
14
15
16
# File 'app/services/oauth_im/user_client.rb', line 11

def initialize(user_jwt:,
               api_key: nil,
               idp_url: nil)
  @user_jwt = user_jwt&.with_indifferent_access
  super api_key: api_key, idp_url: idp_url
end

Instance Attribute Details

#user_jwtObject (readonly)

Returns the value of attribute user_jwt.



9
10
11
# File 'app/services/oauth_im/user_client.rb', line 9

def user_jwt
  @user_jwt
end

Instance Method Details

#admin?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'app/services/oauth_im/user_client.rb', line 26

def admin?
  jwt_token[:roles].include? 'admin'
end

#current_user_idObject



30
31
32
# File 'app/services/oauth_im/user_client.rb', line 30

def current_user_id
  @current_user_id ||= jwt_token[:sub]
end

#emailObject



18
19
20
# File 'app/services/oauth_im/user_client.rb', line 18

def email
  @email ||= jwt_token[:email]
end

#email_verified?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'app/services/oauth_im/user_client.rb', line 22

def email_verified?
  email.present?
end