Module: WidgitAccountsSdk::Client

Extended by:
Client
Included in:
Client
Defined in:
lib/widgit_accounts_sdk/client.rb

Instance Method Summary collapse

Instance Method Details

#create_account(params) ⇒ Object



47
48
49
50
51
# File 'lib/widgit_accounts_sdk/client.rb', line 47

def (params)
  response = request("/api/v1/accounts", :post, params)
  return failed(response['error']) if response['status'] == 'failed'
  return response
end

#exists?(email) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
30
# File 'lib/widgit_accounts_sdk/client.rb', line 26

def exists?(email)
  response = request("/api/v1/accounts/check?#{email.to_query(:email)}")
  return failed(response['error']) if response['status'] == 'failed'
  return success.merge('exists' => response['exists'])
end

#find_with_email(email) ⇒ Object



14
15
16
17
18
# File 'lib/widgit_accounts_sdk/client.rb', line 14

def find_with_email(email)
  response = request("/api/v1/accounts?#{email.to_query(:email)}")
  return failed(response['error']) if response['status'] == 'failed'
  return success.merge('account' => response.dig('data', 0))
end

#find_with_uid(uid) ⇒ Object



8
9
10
11
12
# File 'lib/widgit_accounts_sdk/client.rb', line 8

def find_with_uid(uid)
  response = request("/api/v1/accounts?#{uid.to_query(:uid)}")
  return failed(response['error']) if response['status'] == 'failed'
  return success.merge('account' => response.dig('data', 0))
end

#find_with_username(username) ⇒ Object



20
21
22
23
24
# File 'lib/widgit_accounts_sdk/client.rb', line 20

def find_with_username(username)
  response = request("/api/v1/accounts?#{username.to_query(:username)}")
  return failed(response['error']) if response['status'] == 'failed'
  return success.merge('account' => response.dig('data', 0))
end

#get_new_invite_token(email) ⇒ Object



41
42
43
44
45
# File 'lib/widgit_accounts_sdk/client.rb', line 41

def get_new_invite_token(email)
  response = request("/api/v1/accounts/invite?#{email.to_query(:email)}", :post)
  return response['data']['invitation_token'] if response['status'] == 'success'
  return nil
end

#invite(email, first_name = nil, last_name = nil) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/widgit_accounts_sdk/client.rb', line 32

def invite(email, first_name = nil, last_name = nil)
  request_url = "/api/v1/accounts/invite?#{email.to_query(:email)}"
  request_url += "&#{first_name.to_query(:first_name)}" if first_name
  request_url += "&#{last_name.to_query(:last_name)}" if last_name
  response = request(request_url, :post)
  return failed(response['error']) if response['status'] == 'failed'
  return response
end

#update_account(uid, params) ⇒ Object



53
54
55
56
57
# File 'lib/widgit_accounts_sdk/client.rb', line 53

def (uid, params)
  response = request("/api/v1/accounts/#{uid}", :patch, params)
  return failed(response['error']) if response['status'] == 'failed'
  return response
end

#watch(uid, watcher_url = nil) ⇒ Object



59
60
61
62
63
64
# File 'lib/widgit_accounts_sdk/client.rb', line 59

def watch(uid, watcher_url = nil)
  watcher_url = watcher_url || WidgitAccountsSdk.configuration.watch_webhook_url
  response = request("/api/v1/accounts/#{uid}/watch?#{watcher_url.to_query(:address)}")
  return failed(response['error']) if response['status'] == 'failed'
  return response
end