Class: OauthIm::AdminClient

Inherits:
IdpClient show all
Defined in:
app/services/oauth_im/admin_client.rb

Instance Attribute Summary

Attributes inherited from IdpClient

#api_key, #idp_url

Instance Method Summary collapse

Methods inherited from IdpClient

default_api_key, default_idp_url, #initialize

Constructor Details

This class inherits a constructor from OauthIm::IdpClient

Instance Method Details

#proxy_attrs_for(user_id:) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'app/services/oauth_im/admin_client.rb', line 21

def proxy_attrs_for(user_id:)
  response = client.retrieve_user(user_id).success_response
  raise "No user for id #{user_id}" if response.blank?

  response
    .user
    .to_h
    .with_indifferent_access
    .merge api_key: api_key, idp_url: idp_url
end

#proxy_user_for(user_id:) ⇒ Object



17
18
19
# File 'app/services/oauth_im/admin_client.rb', line 17

def proxy_user_for(user_id:)
  ProxyUser.new proxy_attrs_for user_id: user_id
end

#search_for(term: '', email: '', query: nil, limit: 25, offset: 0) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'app/services/oauth_im/admin_client.rb', line 7

def search_for(term: '', email: '', query: nil, limit: 25, offset: 0)
  if email.present?
    proxy_users_for client.retrieve_user_by_email(email)
  elsif term.present? || query.present?
    search term: term, query: query, limit: limit, offset: offset
  else
    []
  end
end