moov_ruby 0.0.0.pre.dev.12 → 0.0.0.pre.dev.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +3 -1
  3. data/lib/moov/google_pay.rb +212 -0
  4. data/lib/moov/models/components/amountdecimalrange.rb +36 -0
  5. data/lib/moov/models/components/amountdecimalrange.rbi +15 -0
  6. data/lib/moov/models/components/amountdecimalrangeupdate.rb +36 -0
  7. data/lib/moov/models/components/amountdecimalrangeupdate.rbi +15 -0
  8. data/lib/moov/models/components/asynccreatedrefund.rb +6 -2
  9. data/lib/moov/models/components/asynccreatedrefund.rbi +2 -0
  10. data/lib/moov/models/components/cardacquiringrefund.rb +6 -2
  11. data/lib/moov/models/components/cardacquiringrefund.rbi +2 -0
  12. data/lib/moov/models/components/cardfundingsource.rb +21 -0
  13. data/lib/moov/models/components/cardfundingsource.rbi +11 -0
  14. data/lib/moov/models/components/cardnetwork.rb +24 -0
  15. data/lib/moov/models/components/cardnetwork.rbi +11 -0
  16. data/lib/moov/models/components/createdtransfer.rb +11 -3
  17. data/lib/moov/models/components/createdtransfer.rbi +4 -0
  18. data/lib/moov/models/components/createpaymentlink.rb +17 -8
  19. data/lib/moov/models/components/createpaymentlink.rbi +4 -2
  20. data/lib/moov/models/components/createpaymentlinkamountdetails.rb +32 -0
  21. data/lib/moov/models/components/createpaymentlinkamountdetails.rbi +13 -0
  22. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rb +32 -0
  23. data/lib/moov/models/components/createpaymentlinkamountdetailsvalidationerror.rbi +13 -0
  24. data/lib/moov/models/components/createrefund.rb +6 -2
  25. data/lib/moov/models/components/createrefund.rbi +2 -0
  26. data/lib/moov/models/components/createtippresets.rb +42 -0
  27. data/lib/moov/models/components/createtippresets.rbi +17 -0
  28. data/lib/moov/models/components/createtransfer.rb +7 -3
  29. data/lib/moov/models/components/createtransfer.rbi +2 -0
  30. data/lib/moov/models/components/createtransferamountdetails.rb +36 -0
  31. data/lib/moov/models/components/createtransferamountdetails.rbi +15 -0
  32. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +36 -0
  33. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +15 -0
  34. data/lib/moov/models/components/createtransferconfig.rb +32 -0
  35. data/lib/moov/models/components/createtransferconfig.rbi +13 -0
  36. data/lib/moov/models/components/disbursementpaymentmethodtype.rb +2 -0
  37. data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
  38. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  39. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  40. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  41. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  42. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  43. data/lib/moov/models/components/googlepaypaymentmethod.rb +40 -0
  44. data/lib/moov/models/components/googlepaypaymentmethod.rbi +17 -0
  45. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb +18 -0
  46. data/lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi +11 -0
  47. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  48. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  49. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rb +18 -0
  50. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  51. data/lib/moov/models/components/googlepayresponse.rb +50 -0
  52. data/lib/moov/models/components/googlepayresponse.rbi +21 -0
  53. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  54. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  55. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  56. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  57. data/lib/moov/models/components/googlepaytransferpaymentmethod.rb +40 -0
  58. data/lib/moov/models/components/googlepaytransferpaymentmethod.rbi +17 -0
  59. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  60. data/lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  61. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +40 -0
  62. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rbi +17 -0
  63. data/lib/moov/models/components/linkgooglepay.rb +43 -0
  64. data/lib/moov/models/components/linkgooglepay.rbi +15 -0
  65. data/lib/moov/models/components/paymentlink.rb +16 -7
  66. data/lib/moov/models/components/paymentlink.rbi +4 -2
  67. data/lib/moov/models/components/paymentlinkamountdetails.rb +32 -0
  68. data/lib/moov/models/components/paymentlinkamountdetails.rbi +13 -0
  69. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  70. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  71. data/lib/moov/models/components/paymentlinkpaymentdetails.rb +14 -2
  72. data/lib/moov/models/components/paymentlinkpaymentdetails.rbi +6 -0
  73. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rb +19 -0
  74. data/lib/moov/models/components/paymentlinkpaymentdetails_amounttype.rbi +11 -0
  75. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb +14 -2
  76. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate.rbi +6 -0
  77. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rb +19 -0
  78. data/lib/moov/models/components/paymentlinkpaymentdetailsupdate_amounttype.rbi +11 -0
  79. data/lib/moov/models/components/paymentmethodtype.rb +3 -0
  80. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rb +40 -0
  81. data/lib/moov/models/components/pullfromgooglepaypaymentmethod.rbi +17 -0
  82. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  83. data/lib/moov/models/components/pullfromgooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  84. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rb +40 -0
  85. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod.rbi +17 -0
  86. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  87. data/lib/moov/models/components/pullfromgooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  88. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rb +40 -0
  89. data/lib/moov/models/components/pushtogooglepaypaymentmethod.rbi +17 -0
  90. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rb +18 -0
  91. data/lib/moov/models/components/pushtogooglepaypaymentmethod_paymentmethodtype.rbi +11 -0
  92. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rb +40 -0
  93. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi +17 -0
  94. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  95. data/lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  96. data/lib/moov/models/components/puttippresets.rb +42 -0
  97. data/lib/moov/models/components/puttippresets.rbi +17 -0
  98. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  99. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  100. data/lib/moov/models/components/refundamountdetails.rb +32 -0
  101. data/lib/moov/models/components/refundamountdetails.rbi +13 -0
  102. data/lib/moov/models/components/refundamountdetailsvalidationerror.rb +32 -0
  103. data/lib/moov/models/components/refundamountdetailsvalidationerror.rbi +13 -0
  104. data/lib/moov/models/components/resolutionlink.rb +6 -2
  105. data/lib/moov/models/components/resolutionlink.rbi +2 -0
  106. data/lib/moov/models/components/resolutionlinkstatus.rb +22 -0
  107. data/lib/moov/models/components/resolutionlinkstatus.rbi +11 -0
  108. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  109. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  110. data/lib/moov/models/components/tippresets.rb +42 -0
  111. data/lib/moov/models/components/tippresets.rbi +17 -0
  112. data/lib/moov/models/components/transfer.rb +11 -3
  113. data/lib/moov/models/components/transfer.rbi +4 -0
  114. data/lib/moov/models/components/transferamountdetails.rb +36 -0
  115. data/lib/moov/models/components/transferamountdetails.rbi +15 -0
  116. data/lib/moov/models/components/transfercapture.rb +36 -0
  117. data/lib/moov/models/components/transfercapture.rbi +15 -0
  118. data/lib/moov/models/components/transferconfig.rb +32 -0
  119. data/lib/moov/models/components/transferconfig.rbi +13 -0
  120. data/lib/moov/models/components/transferdestination.rb +6 -2
  121. data/lib/moov/models/components/transferdestination.rbi +2 -0
  122. data/lib/moov/models/components/transferoptions.rb +3 -3
  123. data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -0
  124. data/lib/moov/models/components/transfersource.rb +6 -2
  125. data/lib/moov/models/components/transfersource.rbi +2 -0
  126. data/lib/moov/models/components/updatepaymentlink.rb +6 -2
  127. data/lib/moov/models/components/updatepaymentlink.rbi +2 -0
  128. data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +32 -0
  129. data/lib/moov/models/components/updatepaymentlinkamountdetails.rbi +13 -0
  130. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rb +32 -0
  131. data/lib/moov/models/components/updatepaymentlinkamountdetailsvalidationerror.rbi +13 -0
  132. data/lib/moov/models/components.rb +47 -0
  133. data/lib/moov/models/errors/cardacquiringrefund_error.rb +6 -2
  134. data/lib/moov/models/errors/cardacquiringrefund_error.rbi +2 -0
  135. data/lib/moov/models/errors/createpaymentlinkerror.rb +6 -2
  136. data/lib/moov/models/errors/createpaymentlinkerror.rbi +2 -0
  137. data/lib/moov/models/errors/linkgooglepayerror.rb +44 -0
  138. data/lib/moov/models/errors/linkgooglepayerror.rbi +19 -0
  139. data/lib/moov/models/errors/refundvalidationerror.rb +6 -2
  140. data/lib/moov/models/errors/refundvalidationerror.rbi +2 -0
  141. data/lib/moov/models/errors/transfer_error.rb +11 -3
  142. data/lib/moov/models/errors/transfer_error.rbi +4 -0
  143. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  144. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  145. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  146. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  147. data/lib/moov/models/errors/updatepaymentlinkerror.rb +6 -2
  148. data/lib/moov/models/errors/updatepaymentlinkerror.rbi +2 -0
  149. data/lib/moov/models/errors.rb +2 -0
  150. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  151. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  152. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  153. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  154. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  155. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  156. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  157. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  158. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  159. data/lib/moov/models/operations/linkgooglepaytoken_request.rb +36 -0
  160. data/lib/moov/models/operations/linkgooglepaytoken_request.rbi +15 -0
  161. data/lib/moov/models/operations/linkgooglepaytoken_response.rb +48 -0
  162. data/lib/moov/models/operations/linkgooglepaytoken_response.rbi +21 -0
  163. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  164. data/lib/moov/models/operations/listtransfers_request.rb +10 -2
  165. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  166. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  167. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  168. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  169. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  170. data/lib/moov/models/operations.rb +8 -0
  171. data/lib/moov/payment_methods.rb +2 -2
  172. data/lib/moov/sdkconfiguration.rb +3 -3
  173. data/lib/moov/transfer_config.rb +486 -0
  174. data/lib/moov_ruby.rb +2 -0
  175. metadata +118 -2
@@ -0,0 +1,486 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module Moov
14
+ extend T::Sig
15
+ class TransferConfig
16
+ extend T::Sig
17
+
18
+
19
+
20
+ sig { params(sdk_config: SDKConfiguration).void }
21
+ def initialize(sdk_config)
22
+ @sdk_configuration = sdk_config
23
+
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url base_url, url_variables
39
+ end
40
+
41
+
42
+
43
+
44
+ sig { params(create_transfer_config: Models::Components::CreateTransferConfig, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateTransferConfigResponse) }
45
+ def create(create_transfer_config:, account_id:, timeout_ms: nil, http_headers: nil)
46
+ # create - Create a transfer config for an account.
47
+ request = Models::Operations::CreateTransferConfigRequest.new(
48
+ account_id: account_id,
49
+ create_transfer_config: create_transfer_config
50
+ )
51
+ url, params = @sdk_configuration.get_server_details
52
+ base_url = Utils.template_url(url, params)
53
+ url = Utils.generate_url(
54
+ Models::Operations::CreateTransferConfigRequest,
55
+ base_url,
56
+ '/accounts/{accountID}/transfer-config',
57
+ request
58
+ )
59
+ headers = {}
60
+ headers = T.cast(headers, T::Hash[String, String])
61
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_transfer_config, :json)
62
+ headers['content-type'] = req_content_type
63
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
64
+
65
+ if form && !form.empty?
66
+ body = Utils.encode_form(form)
67
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
68
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
69
+ else
70
+ body = data
71
+ end
72
+ headers['Accept'] = 'application/json'
73
+ headers['user-agent'] = @sdk_configuration.user_agent
74
+
75
+ security = @sdk_configuration.security_source&.call
76
+
77
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
78
+ timeout ||= @sdk_configuration.timeout
79
+
80
+
81
+ connection = @sdk_configuration.client
82
+
83
+ hook_ctx = SDKHooks::HookContext.new(
84
+ config: @sdk_configuration,
85
+ base_url: base_url,
86
+ oauth2_scopes: nil,
87
+ operation_id: 'createTransferConfig',
88
+ security_source: @sdk_configuration.security_source
89
+ )
90
+
91
+ error = T.let(nil, T.nilable(StandardError))
92
+ http_response = T.let(nil, T.nilable(Faraday::Response))
93
+
94
+
95
+ begin
96
+ http_response = T.must(connection).post(url) do |req|
97
+ req.body = body
98
+ req.headers.merge!(headers)
99
+ req.options.timeout = timeout unless timeout.nil?
100
+ Utils.configure_request_security(req, security)
101
+ http_headers&.each do |key, value|
102
+ req.headers[key.to_s] = value
103
+ end
104
+
105
+ @sdk_configuration.hooks.before_request(
106
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
107
+ hook_ctx: hook_ctx
108
+ ),
109
+ request: req
110
+ )
111
+ end
112
+ rescue StandardError => e
113
+ error = e
114
+ ensure
115
+ if http_response.nil? || Utils.error_status?(http_response.status)
116
+ http_response = @sdk_configuration.hooks.after_error(
117
+ error: error,
118
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
119
+ hook_ctx: hook_ctx
120
+ ),
121
+ response: http_response
122
+ )
123
+ else
124
+ http_response = @sdk_configuration.hooks.after_success(
125
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
126
+ hook_ctx: hook_ctx
127
+ ),
128
+ response: http_response
129
+ )
130
+ end
131
+
132
+ if http_response.nil?
133
+ raise error if !error.nil?
134
+ raise 'no response'
135
+ end
136
+ end
137
+
138
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
139
+ if Utils.match_status_code(http_response.status, ['201'])
140
+ if Utils.match_content_type(content_type, 'application/json')
141
+ http_response = @sdk_configuration.hooks.after_success(
142
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
143
+ hook_ctx: hook_ctx
144
+ ),
145
+ response: http_response
146
+ )
147
+ response_data = http_response.env.response_body
148
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
149
+ response = Models::Operations::CreateTransferConfigResponse.new(
150
+ status_code: http_response.status,
151
+ content_type: content_type,
152
+ raw_response: http_response,
153
+ headers: http_response.headers,
154
+ transfer_config: T.unsafe(obj)
155
+ )
156
+
157
+ return response
158
+ else
159
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
160
+ end
161
+ elsif Utils.match_status_code(http_response.status, ['400'])
162
+ if Utils.match_content_type(content_type, 'application/json')
163
+ http_response = @sdk_configuration.hooks.after_success(
164
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
165
+ hook_ctx: hook_ctx
166
+ ),
167
+ response: http_response
168
+ )
169
+ response_data = http_response.env.response_body
170
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
171
+ obj.raw_response = http_response
172
+ raise obj
173
+ else
174
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
175
+ end
176
+ elsif Utils.match_status_code(http_response.status, ['422'])
177
+ if Utils.match_content_type(content_type, 'application/json')
178
+ http_response = @sdk_configuration.hooks.after_success(
179
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
180
+ hook_ctx: hook_ctx
181
+ ),
182
+ response: http_response
183
+ )
184
+ response_data = http_response.env.response_body
185
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TransferConfigValidationError)
186
+ obj.raw_response = http_response
187
+ raise obj
188
+ else
189
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
190
+ end
191
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
192
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
193
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
194
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
195
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
196
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
197
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
198
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
199
+ else
200
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
201
+
202
+ end
203
+ end
204
+
205
+
206
+ sig { params(account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetTransferConfigResponse) }
207
+ def get(account_id:, timeout_ms: nil, http_headers: nil)
208
+ # get - Get the transfer config for an account.
209
+ request = Models::Operations::GetTransferConfigRequest.new(
210
+ account_id: account_id
211
+ )
212
+ url, params = @sdk_configuration.get_server_details
213
+ base_url = Utils.template_url(url, params)
214
+ url = Utils.generate_url(
215
+ Models::Operations::GetTransferConfigRequest,
216
+ base_url,
217
+ '/accounts/{accountID}/transfer-config',
218
+ request
219
+ )
220
+ headers = {}
221
+ headers = T.cast(headers, T::Hash[String, String])
222
+ headers['Accept'] = 'application/json'
223
+ headers['user-agent'] = @sdk_configuration.user_agent
224
+
225
+ security = @sdk_configuration.security_source&.call
226
+
227
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
228
+ timeout ||= @sdk_configuration.timeout
229
+
230
+
231
+ connection = @sdk_configuration.client
232
+
233
+ hook_ctx = SDKHooks::HookContext.new(
234
+ config: @sdk_configuration,
235
+ base_url: base_url,
236
+ oauth2_scopes: nil,
237
+ operation_id: 'getTransferConfig',
238
+ security_source: @sdk_configuration.security_source
239
+ )
240
+
241
+ error = T.let(nil, T.nilable(StandardError))
242
+ http_response = T.let(nil, T.nilable(Faraday::Response))
243
+
244
+
245
+ begin
246
+ http_response = T.must(connection).get(url) do |req|
247
+ req.headers.merge!(headers)
248
+ req.options.timeout = timeout unless timeout.nil?
249
+ Utils.configure_request_security(req, security)
250
+ http_headers&.each do |key, value|
251
+ req.headers[key.to_s] = value
252
+ end
253
+
254
+ @sdk_configuration.hooks.before_request(
255
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
256
+ hook_ctx: hook_ctx
257
+ ),
258
+ request: req
259
+ )
260
+ end
261
+ rescue StandardError => e
262
+ error = e
263
+ ensure
264
+ if http_response.nil? || Utils.error_status?(http_response.status)
265
+ http_response = @sdk_configuration.hooks.after_error(
266
+ error: error,
267
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
268
+ hook_ctx: hook_ctx
269
+ ),
270
+ response: http_response
271
+ )
272
+ else
273
+ http_response = @sdk_configuration.hooks.after_success(
274
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
275
+ hook_ctx: hook_ctx
276
+ ),
277
+ response: http_response
278
+ )
279
+ end
280
+
281
+ if http_response.nil?
282
+ raise error if !error.nil?
283
+ raise 'no response'
284
+ end
285
+ end
286
+
287
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
288
+ if Utils.match_status_code(http_response.status, ['200'])
289
+ if Utils.match_content_type(content_type, 'application/json')
290
+ http_response = @sdk_configuration.hooks.after_success(
291
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
292
+ hook_ctx: hook_ctx
293
+ ),
294
+ response: http_response
295
+ )
296
+ response_data = http_response.env.response_body
297
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
298
+ response = Models::Operations::GetTransferConfigResponse.new(
299
+ status_code: http_response.status,
300
+ content_type: content_type,
301
+ raw_response: http_response,
302
+ headers: http_response.headers,
303
+ transfer_config: T.unsafe(obj)
304
+ )
305
+
306
+ return response
307
+ else
308
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
309
+ end
310
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
311
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
312
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
313
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
314
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
315
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
316
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
317
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
318
+ else
319
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
320
+
321
+ end
322
+ end
323
+
324
+
325
+ sig { params(put_transfer_config: Models::Components::PutTransferConfig, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::UpdateTransferConfigResponse) }
326
+ def update(put_transfer_config:, account_id:, timeout_ms: nil, http_headers: nil)
327
+ # update - Update the transfer config for an account.
328
+ request = Models::Operations::UpdateTransferConfigRequest.new(
329
+ account_id: account_id,
330
+ put_transfer_config: put_transfer_config
331
+ )
332
+ url, params = @sdk_configuration.get_server_details
333
+ base_url = Utils.template_url(url, params)
334
+ url = Utils.generate_url(
335
+ Models::Operations::UpdateTransferConfigRequest,
336
+ base_url,
337
+ '/accounts/{accountID}/transfer-config',
338
+ request
339
+ )
340
+ headers = {}
341
+ headers = T.cast(headers, T::Hash[String, String])
342
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :put_transfer_config, :json)
343
+ headers['content-type'] = req_content_type
344
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
345
+
346
+ if form && !form.empty?
347
+ body = Utils.encode_form(form)
348
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
349
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
350
+ else
351
+ body = data
352
+ end
353
+ headers['Accept'] = 'application/json'
354
+ headers['user-agent'] = @sdk_configuration.user_agent
355
+
356
+ security = @sdk_configuration.security_source&.call
357
+
358
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
359
+ timeout ||= @sdk_configuration.timeout
360
+
361
+
362
+ connection = @sdk_configuration.client
363
+
364
+ hook_ctx = SDKHooks::HookContext.new(
365
+ config: @sdk_configuration,
366
+ base_url: base_url,
367
+ oauth2_scopes: nil,
368
+ operation_id: 'updateTransferConfig',
369
+ security_source: @sdk_configuration.security_source
370
+ )
371
+
372
+ error = T.let(nil, T.nilable(StandardError))
373
+ http_response = T.let(nil, T.nilable(Faraday::Response))
374
+
375
+
376
+ begin
377
+ http_response = T.must(connection).put(url) do |req|
378
+ req.body = body
379
+ req.headers.merge!(headers)
380
+ req.options.timeout = timeout unless timeout.nil?
381
+ Utils.configure_request_security(req, security)
382
+ http_headers&.each do |key, value|
383
+ req.headers[key.to_s] = value
384
+ end
385
+
386
+ @sdk_configuration.hooks.before_request(
387
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
388
+ hook_ctx: hook_ctx
389
+ ),
390
+ request: req
391
+ )
392
+ end
393
+ rescue StandardError => e
394
+ error = e
395
+ ensure
396
+ if http_response.nil? || Utils.error_status?(http_response.status)
397
+ http_response = @sdk_configuration.hooks.after_error(
398
+ error: error,
399
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
400
+ hook_ctx: hook_ctx
401
+ ),
402
+ response: http_response
403
+ )
404
+ else
405
+ http_response = @sdk_configuration.hooks.after_success(
406
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
407
+ hook_ctx: hook_ctx
408
+ ),
409
+ response: http_response
410
+ )
411
+ end
412
+
413
+ if http_response.nil?
414
+ raise error if !error.nil?
415
+ raise 'no response'
416
+ end
417
+ end
418
+
419
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
420
+ if Utils.match_status_code(http_response.status, ['200'])
421
+ if Utils.match_content_type(content_type, 'application/json')
422
+ http_response = @sdk_configuration.hooks.after_success(
423
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
424
+ hook_ctx: hook_ctx
425
+ ),
426
+ response: http_response
427
+ )
428
+ response_data = http_response.env.response_body
429
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
430
+ response = Models::Operations::UpdateTransferConfigResponse.new(
431
+ status_code: http_response.status,
432
+ content_type: content_type,
433
+ raw_response: http_response,
434
+ headers: http_response.headers,
435
+ transfer_config: T.unsafe(obj)
436
+ )
437
+
438
+ return response
439
+ else
440
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
441
+ end
442
+ elsif Utils.match_status_code(http_response.status, ['400'])
443
+ if Utils.match_content_type(content_type, 'application/json')
444
+ http_response = @sdk_configuration.hooks.after_success(
445
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
446
+ hook_ctx: hook_ctx
447
+ ),
448
+ response: http_response
449
+ )
450
+ response_data = http_response.env.response_body
451
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
452
+ obj.raw_response = http_response
453
+ raise obj
454
+ else
455
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
456
+ end
457
+ elsif Utils.match_status_code(http_response.status, ['422'])
458
+ if Utils.match_content_type(content_type, 'application/json')
459
+ http_response = @sdk_configuration.hooks.after_success(
460
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
461
+ hook_ctx: hook_ctx
462
+ ),
463
+ response: http_response
464
+ )
465
+ response_data = http_response.env.response_body
466
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TransferConfigValidationError)
467
+ obj.raw_response = http_response
468
+ raise obj
469
+ else
470
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
471
+ end
472
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
473
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
474
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
475
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
476
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
477
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
478
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
479
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
480
+ else
481
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
482
+
483
+ end
484
+ end
485
+ end
486
+ end
data/lib/moov_ruby.rb CHANGED
@@ -15,6 +15,7 @@ module Moov
15
15
  autoload :Disputes, 'moov/disputes'
16
16
  autoload :FeePlans, 'moov/fee_plans'
17
17
  autoload :Files, 'moov/files'
18
+ autoload :GooglePay, 'moov/google_pay'
18
19
  autoload :Images, 'moov/images'
19
20
  autoload :Invoices, 'moov/invoices'
20
21
  autoload :PaymentLinks, 'moov/payment_links'
@@ -27,6 +28,7 @@ module Moov
27
28
  autoload :Sweeps, 'moov/sweeps'
28
29
  autoload :AccountTerminalApplications, 'moov/account_terminal_applications'
29
30
  autoload :Support, 'moov/support'
31
+ autoload :TransferConfig, 'moov/transfer_config'
30
32
  autoload :Transfers, 'moov/transfers'
31
33
  autoload :Underwriting, 'moov/underwriting'
32
34
  autoload :Wallets, 'moov/wallets'