Sha256: abe91bced52e8514da479f06b09cb074672b9d68a3b733e9a0ed6e4ee3e6cb2a

Contents?: true

Size: 1.72 KB

Versions: 2

Compression:

Stored size: 1.72 KB

Contents

module Login

  def with_user(ip_address, business_unit_id, options={})
    options.merge!(basic_auth: @auth, headers: @headers)
    response = self.class.get(base_api_endpoint('Web/Session/'), options)
    JSON.parse(response.body)
  end

  def login_using_email(email, password, login_type_id, promotion, session_key, options={})
    parameters =
      {
        'UserName': email,
        'Password': password, 
        'LoginTypeId': login_type_id,
        'PromotionCode': promotion
      }
    options.merge!(basic_auth: @auth, headers: @headers)
    options.merge!(:body => parameters)
    post = self.class.post(base_api_endpoint("Web/Session/#{session_key}/Login"), options)
    post['IsLoggedIn']
  end

  def login_using_external(email, login_type_id, promotion, session_key, options={})
    parameters =
      {
        'UserName': email,
        'LoginTypeId': login_type_id,
        'PromotionCode': promotion
      }
    options.merge!(basic_auth: @auth, headers: @headers)
    options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
    post = self.class.post(base_api_endpoint("Web/Session/#{session_key}/Login/External"), options)
    post.success?
  end

  def login_with_token(email, login_type_id, token, promotion, session_key, options={})
    parameters =
      {
        'EmailAddress': email,
        'ForgotLoginToken': token,
        'LoginTypeId': login_type_id,
        'PromotionCode': promotion
      }
    options.merge!(basic_auth: @auth, headers: @headers)
    options.merge!(:body => parameters.to_json, :headers => {'Content-Type' => 'application/json'})
    post = self.class.post(base_api_endpoint("Web/Session/#{session_key}/Login/Token"), options)
    post['IsLoggedIn']
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tessitura_rest-0.7.3 lib/tessitura_rest/web/login.rb
tessitura_rest-0.7.2 lib/tessitura_rest/web/login.rb