Sha256: e7aed1a626d06aa95302e3e19a996578f97c4b4077d7a653b119594bcbefb1f6

Contents?: true

Size: 1.42 KB

Versions: 6

Compression:

Stored size: 1.42 KB

Contents

require_relative "base_client"

module PortalConnectors
  class SocialClient < BaseClient
    def submit_auth_id(auth_id_json)
      params = auth_id_json
      params.merge!(
        "nonce" => next_nonce,
        "postback_url" => postback_url("auth_id")
      )
      url = "#{host}/api/v1/auth_ids"
      res = post_with_signature(url, params)
      [JSON.parse(res.body_str), [200, 201].include?(res.response_code)]
    rescue => e
      return_error e
    end

    def submit_email_otp(receiver_email:, content:)
      params = {
        nonce: next_nonce,
        receiver_email: receiver_email,
        content: content
      }
      url = "#{host}/api/v1/email_otps"
      res = post_with_signature(url, params)
      [JSON.parse(res.body_str), res.response_code == 201]
    rescue => e
      return_error e
    end

    def fetch_auth_id(uid)
      params = { uid: uid, nonce: next_nonce }
      url = "#{host}/api/v1/auth_ids/#{uid}"
      res = get_with_signature(url, params)
      [JSON.parse(res.body_str), [200, 201].include?(res.response_code)]
    end

    def fetch_trust_pilot_authentication_token
      params = { nonce: next_nonce }
      url = "#{host}/api/v1/trust_pilot/authentication_token"
      res = get_with_signature(url, params)
      [JSON.parse(res.body_str), [200, 201].include?(res.response_code)]
    end

    private

    def postback_url(type)
      "#{PortalConnectors.postbacks.social}/#{type}"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
portal-connectors-0.58.39xc lib/portal-connectors/social_client.rb
portal-connectors-0.58.39xb lib/portal-connectors/social_client.rb
portal-connectors-0.58.39xa lib/portal-connectors/social_client.rb
portal-connectors-0.58.39fj lib/portal-connectors/social_client.rb
portal-connectors-0.58.39fg lib/portal-connectors/social_client.rb
portal-connectors-0.58.38xn lib/portal-connectors/social_client.rb