class Stytch::MagicLinks

def authenticate(

def authenticate(
  token:,
  attributes: {},
  options: {},
  session_token: nil,
  session_jwt: nil,
  session_duration_minutes: nil,
  session_custom_claims: nil,
  code_verifier: nil
)
  request = {
    token: token
  }
  request[:attributes] = attributes if attributes != {}
  request[:options] = options if options != {}
  request[:session_token] = session_token unless session_token.nil?
  request[:session_jwt] = session_jwt unless session_jwt.nil?
  request[:session_duration_minutes] = session_duration_minutes unless session_duration_minutes.nil?
  request[:session_custom_claims] = session_custom_claims unless session_custom_claims.nil?
  request[:code_verifier] = code_verifier unless code_verifier.nil?
  post_request("#{PATH}/authenticate", request)
end

def create(

def create(
  user_id:,
  expiration_minutes: nil,
  attributes: {}
)
  request = {
    user_id: user_id
  }
  request[:expiration_minutes] = expiration_minutes unless expiration_minutes.nil?
  request[:attributes] = attributes if attributes != {}
  post_request(PATH, request)
end

def initialize(connection)

def initialize(connection)
  @connection = connection
  @email = Stytch::MagicLinks::Email.new(@connection)
end