module Yoti::DynamicSharingService

Public Class Methods

create_share_url(scenario) click to toggle source
# File lib/yoti/dynamic_share_service/share_url.rb, line 16
def self.create_share_url(scenario)
  yoti_request = Yoti::Request
                 .builder
                 .with_http_method('POST')
                 .with_base_url(Yoti.configuration.api_endpoint)
                 .with_endpoint("qrcodes/apps/#{Yoti.configuration.client_sdk_id}")
                 .with_query_param('appId', Yoti.configuration.client_sdk_id)
                 .with_payload(scenario)
                 .build

  begin
    create_share_url_parse_response yoti_request.execute
  rescue Yoti::RequestError => e
    raise if e.response.nil?

    case e.response.code
    when '400'
      raise InvalidDataError
    when '404'
      raise ApplicationNotFoundError
    else
      raise UnknownHTTPError, e.response.code
    end
  end
end
create_share_url_endpoint() click to toggle source

@deprecated no longer used - will be removed in 2.0.0

# File lib/yoti/dynamic_share_service/share_url.rb, line 71
def self.create_share_url_endpoint
  "/qrcodes/apps/#{Yoti.configuration.client_sdk_id}"
end
create_share_url_parse_response(response) click to toggle source
# File lib/yoti/dynamic_share_service/share_url.rb, line 42
def self.create_share_url_parse_response(response)
  Share.new JSON.parse response.body
end
create_share_url_query() click to toggle source

@deprecated no longer used - will be removed in 2.0.0

# File lib/yoti/dynamic_share_service/share_url.rb, line 66
def self.create_share_url_query
  "?nonce=#{SecureRandom.uuid}&timestamp=#{Time.now.to_i}"
end