Class: ModernTreasury::AccountDetailApi

Inherits:
BaseApi
  • Object
show all
Defined in:
lib/modern_treasury/apis/account_detail_api.rb

Overview

AccountDetailApi

Constant Summary

Constants inherited from BaseApi

BaseApi::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseApi

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseApi

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from ModernTreasury::BaseApi

Instance Method Details

#create_account_detail(accounts_type, account_id, idempotency_key: nil, body: nil) ⇒ ApiResponse

Create an account detail for an external account. something unique, preferably something like an UUID. description here

Parameters:

  • accounts_type (AccountsType1)

    Required parameter: Example:

  • account_id (String)

    Required parameter: The ID of the account.

  • idempotency_key (String) (defaults to: nil)

    Optional parameter: This key should be

  • body (AccountDetailCreateRequest) (defaults to: nil)

    Optional parameter: TODO: type

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/modern_treasury/apis/account_detail_api.rb', line 51

def (accounts_type,
                          ,
                          idempotency_key: nil,
                          body: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/api/{accounts_type}/{account_id}/account_details',
                                 Server::DEFAULT)
               .template_param(new_parameter(accounts_type, key: 'accounts_type')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(, key: 'account_id')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
               .body_param(new_parameter(body))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(AccountDetail.method(:from_hash))
                .is_api_response(true)
                .local_error('404',
                             'unsuccessful',
                             ErrorMessageException)
                .local_error('422',
                             'unsuccessful',
                             ErrorMessageException))
    .execute
end

#delete_account_detail(accounts_type, account_id, id) ⇒ ApiResponse

Delete a single account detail for an external account.

Parameters:

  • accounts_type (AccountsType1)

    Required parameter: Example:

  • account_id (String)

    Required parameter: The ID of the account.

  • id (String)

    Required parameter: The ID of the account detail.

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/modern_treasury/apis/account_detail_api.rb', line 122

def (accounts_type,
                          ,
                          id)
  @api_call
    .request(new_request_builder(HttpMethodEnum::DELETE,
                                 '/api/{accounts_type}/{account_id}/account_details/{id}',
                                 Server::DEFAULT)
               .template_param(new_parameter(accounts_type, key: 'accounts_type')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(, key: 'account_id')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(id, key: 'id')
                                .is_required(true)
                                .should_encode(true))
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .is_response_void(true)
                .is_api_response(true))
    .execute
end

#get_account_detail(accounts_type, account_id, id) ⇒ ApiResponse

Get a single account detail for a single internal or external account.

Parameters:

  • accounts_type (AccountsType)

    Required parameter: Example:

  • account_id (String)

    Required parameter: The ID of the account.

  • id (String)

    Required parameter: The ID of the account detail.

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/modern_treasury/apis/account_detail_api.rb', line 89

def (accounts_type,
                       ,
                       id)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/api/{accounts_type}/{account_id}/account_details/{id}',
                                 Server::DEFAULT)
               .template_param(new_parameter(accounts_type, key: 'accounts_type')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(, key: 'account_id')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(id, key: 'id')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(AccountDetail.method(:from_hash))
                .is_api_response(true)
                .local_error('404',
                             'not found',
                             ErrorMessageException))
    .execute
end

#list_account_details(accounts_type, account_id, after_cursor: nil, per_page: nil) ⇒ ApiResponse

Get a list of account details for a single internal or external account. here here

Parameters:

  • accounts_type (AccountsType)

    Required parameter: Example:

  • account_id (String)

    Required parameter: The ID of the account.

  • after_cursor (String) (defaults to: nil)

    Optional parameter: TODO: type description

  • per_page (Integer) (defaults to: nil)

    Optional parameter: TODO: type description

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/modern_treasury/apis/account_detail_api.rb', line 17

def (accounts_type,
                         ,
                         after_cursor: nil,
                         per_page: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/api/{accounts_type}/{account_id}/account_details',
                                 Server::DEFAULT)
               .template_param(new_parameter(accounts_type, key: 'accounts_type')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(, key: 'account_id')
                                .is_required(true)
                                .should_encode(true))
               .query_param(new_parameter(after_cursor, key: 'after_cursor'))
               .query_param(new_parameter(per_page, key: 'per_page'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(Single.new('basic_auth')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(AccountDetail.method(:from_hash))
                .is_api_response(true)
                .is_response_array(true))
    .execute
end