Class: Streambird::Api::MagicLink

Inherits:
Struct
  • Object
show all
Defined in:
lib/streambird/api/magic_link.rb

Defined Under Namespace

Classes: Email

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#clientObject

Returns the value of attribute client

Returns:

  • (Object)

    the current value of client



3
4
5
# File 'lib/streambird/api/magic_link.rb', line 3

def client
  @client
end

Instance Method Details

#create(user_id) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/streambird/api/magic_link.rb', line 9

def create(user_id)
  req = {
    'user_id': user_id,
  }
  response = client.post('auth/magic_links/create', req)
  json_body = JSON.parse(response.body, symbolize_names: true)
  return json_body
end

#emailObject



5
6
7
# File 'lib/streambird/api/magic_link.rb', line 5

def email
  @email ||= Streambird::Api::MagicLink::Email.new(client)
end

#verify(token:, session_token: nil, session_expires_in: nil, device_fingerprint: {}) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/streambird/api/magic_link.rb', line 18

def verify(token:,
  session_token: nil,
  session_expires_in: nil,
  device_fingerprint: {}
)
  req = {
    'token': token,
  }

  req['device_fingerprint'] = device_fingerprint if device_fingerprint != {}
  req['session_expires_in'] = session_expires_in if !session_expires_in.nil?
  req['session_token'] = session_token if !session_token.nil?
  response = client.post('auth/magic_links/verify', req)
  json_body = JSON.parse(response.body, symbolize_names: true)
  return json_body
end