Sha256: bd46a306f5e56dc48bba15c9aaf2b00a1acfbf78ae25a820e13d9f675288fc91

Contents?: true

Size: 1.71 KB

Versions: 7

Compression:

Stored size: 1.71 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.success?
  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.success?
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
tessitura_rest-0.7.1 lib/tessitura_rest/web/login.rb
tessitura_rest-0.7.0 lib/tessitura_rest/web/login.rb
tessitura_rest-0.6.9 lib/tessitura_rest/web/login.rb
tessitura_rest-0.6.8 lib/tessitura_rest/web/login.rb
tessitura_rest-0.6.7 lib/tessitura_rest/web/login.rb
tessitura_rest-0.6.6 lib/tessitura_rest/web/login.rb
tessitura_rest-0.6.5 lib/tessitura_rest/web/login.rb