Module: Flinks::API::Authorize

Included in:
Client
Defined in:
lib/flinks/api/authorize.rb

Constant Summary collapse

AuthorizeRequestSchema =
Dry::Validation.Schema do
  required(:login_id).filled(:str?)

  optional(:language).filled(:str?)
  optional(:save).filled(:bool?)
  optional(:security_responses).filled(:hash?)
  optional(:schedule_refresh).filled(:bool?)
  optional(:direct_refresh).filled(:bool?)
  optional(:days_of_transactions).included_in?(['Days90', 'Days360'])
  optional(:most_recent_cached).filled(:bool?)
  optional(:with_transactions).filled(:bool?)
  optional(:with_balance).filled(:bool?)
end
AuthorizeWithCredentialsRequestSchema =
Dry::Validation.Schema do
  required(:username).filled?(:str?)
  required(:password).filled?(:str?)
  required(:institution).filled?(:str?)

  optional(:language).filled(:str?)
  optional(:save).filled(:bool?)
  optional(:security_responses).filled(:hash?)
  optional(:schedule_refresh).filled(:bool?)
  optional(:direct_refresh).filled(:bool?)
  optional(:days_of_transactions).included_in?(['Days90', 'Days360'])
  optional(:most_recent_cached).filled(:bool?)
  optional(:with_transactions).filled(:bool?)
  optional(:with_balance).filled(:bool?)
end
AuthorizeMultipleRequestSchema =
Dry::Validation.Schema do
  required(:login_ids).each(:str?)

  optional(:most_recent_cached).filled(:bool?)
end

Instance Method Summary collapse

Instance Method Details

#authorize(login_id:, options: {}) ⇒ Hash

Parameters:

  • login_id (String)
  • options (Hash) (defaults to: {})

Returns:

  • (Hash)

See Also:



48
49
50
51
52
53
# File 'lib/flinks/api/authorize.rb', line 48

def authorize(login_id:, options: {})
  payload = options.merge(login_id: )
  validate_request!(AuthorizeRequestSchema, payload)

  post("#{customer_id}/BankingServices/Authorize", body: payload)
end

#authorize_multiple(login_ids:, options: {}) ⇒ Hash

Parameters:

  • login_ids (Array)
  • options (Hash) (defaults to: {})

Returns:

  • (Hash)

See Also:



71
72
73
74
75
76
# File 'lib/flinks/api/authorize.rb', line 71

def authorize_multiple(login_ids:, options: {})
  payload = options.merge(login_ids: )
  validate_request!(AuthorizeMultipleRequestSchema, payload)

  post("#{customer_id}/BankingServices/AuthorizeMultiple", body: payload)
end

#authorize_with_credentials(username:, password:, institution:, options: {}) ⇒ Object

Parameters:

  • username (String)
  • password (String)
  • institution (String)
  • options (Hash) (defaults to: {})

See Also:



60
61
62
63
64
65
# File 'lib/flinks/api/authorize.rb', line 60

def authorize_with_credentials(username:, password:, institution:, options: {})
  payload = options.merge(username: username, password: password, institution: institution)
  validate_request!(AuthorizeWithCredentialsRequestSchema, payload)

  post("#{customer_id}/BankingServices/Authorize", body: payload)
end