Class: Streambird::Api::MagicLink::Email

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

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



35
36
37
# File 'lib/streambird/api/magic_link.rb', line 35

def client
  @client
end

Instance Method Details

#login_or_create(email:, login_redirect_url: nil, registration_redirect_url: nil, login_expires_in: nil, registration_expires_in: nil, requires_verification: nil, device_fingerprint: {}) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/streambird/api/magic_link.rb', line 37

def (email:,
  login_redirect_url: nil,
  registration_redirect_url: nil,
  login_expires_in: nil,
  registration_expires_in: nil,
  requires_verification: nil,
  device_fingerprint: {}
)

  req = {
    'email': email,
  }

  req['login_redirect_url'] =  if !.nil?
  req['registration_redirect_url'] = registration_redirect_url if !registration_redirect_url.nil?
  req['registration_expires_in'] = registration_expires_in if !registration_expires_in.nil?
  req['login_expires_in'] =  if !.nil?
  req['requires_verification'] = requires_verification if !requires_verification.nil?
  req['device_fingerprint'] = device_fingerprint if device_fingerprint != {}
  response = client.post('auth/magic_links/email/login_or_create', req)

  json_body = JSON.parse(response.body, symbolize_names: true)
  return json_body
end