class StytchB2B::MagicLinks::Email

def initialize(connection)

def initialize(connection)
  @connection = connection
  @discovery = StytchB2B::MagicLinks::Email::Discovery.new(@connection)
end

def invite(

def invite(
  organization_id:,
  email_address:,
  invite_redirect_url: nil,
  invited_by_member_id: nil,
  name: nil,
  trusted_metadata: nil,
  untrusted_metadata: nil,
  invite_template_id: nil,
  locale: nil
)
  request = {
    organization_id: organization_id,
    email_address: email_address
  }
  request[:invite_redirect_url] = invite_redirect_url unless invite_redirect_url.nil?
  request[:invited_by_member_id] = invited_by_member_id unless invited_by_member_id.nil?
  request[:name] = name unless name.nil?
  request[:trusted_metadata] = trusted_metadata unless trusted_metadata.nil?
  request[:untrusted_metadata] = untrusted_metadata unless untrusted_metadata.nil?
  request[:invite_template_id] = invite_template_id unless invite_template_id.nil?
  request[:locale] = locale unless locale.nil?
  post_request('/v1/b2b/magic_links/email/invite', request)
end

def login_or_signup(

def login_or_signup(
  organization_id:,
  email_address:,
  login_redirect_url: nil,
  signup_redirect_url: nil,
  pkce_code_challenge: nil,
  login_template_id: nil,
  signup_template_id: nil,
  locale: nil
)
  request = {
    organization_id: organization_id,
    email_address: email_address
  }
  request[:login_redirect_url] = login_redirect_url unless login_redirect_url.nil?
  request[:signup_redirect_url] = signup_redirect_url unless signup_redirect_url.nil?
  request[:pkce_code_challenge] = pkce_code_challenge unless pkce_code_challenge.nil?
  request[:login_template_id] = login_template_id unless login_template_id.nil?
  request[:signup_template_id] = signup_template_id unless signup_template_id.nil?
  request[:locale] = locale unless locale.nil?
  post_request('/v1/b2b/magic_links/email/login_or_signup', request)
end