moov_ruby 26.7.0.pre.dev.3 → 26.7.0.pre.dev.4
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.
- checksums.yaml +4 -4
- data/lib/moov/bank_accounts.rb +1 -1
- data/lib/moov/client.rb +2 -1
- data/lib/moov/deposit_view.rb +213 -0
- data/lib/moov/models/components/capabilityid.rb +1 -0
- data/lib/moov/models/components/cardtransactiondetails.rb +10 -2
- data/lib/moov/models/components/cardtransactiondetails.rbi +4 -0
- data/lib/moov/models/components/cardtransactionstatus.rb +1 -0
- data/lib/moov/models/components/createtransferdestinationcard.rb +6 -2
- data/lib/moov/models/components/createtransferdestinationcard.rbi +2 -0
- data/lib/moov/models/components/depositaccountingestedresponse.rb +44 -0
- data/lib/moov/models/components/depositaccountingestedresponse.rbi +19 -0
- data/lib/moov/models/components/fullissuedcard.rb +1 -3
- data/lib/moov/models/components/invoice.rb +6 -2
- data/lib/moov/models/components/invoice.rbi +2 -0
- data/lib/moov/models/components/issuedcard.rb +1 -3
- data/lib/moov/models/components/issuedcardstate.rb +1 -5
- data/lib/moov/models/components/manualtermsofservice.rb +1 -1
- data/lib/moov/models/components/manualtermsofserviceupdate.rb +1 -1
- data/lib/moov/models/components/patchtransfer.rb +6 -6
- data/lib/moov/models/components/patchtransfer.rbi +2 -2
- data/lib/moov/models/components/patchwallet.rb +1 -1
- data/lib/moov/models/components/paymentlinkpayoutdetails.rb +9 -2
- data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +2 -0
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +9 -2
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +2 -0
- data/lib/moov/models/components/paymentmethodscard.rb +7 -2
- data/lib/moov/models/components/paymentmethodscard.rbi +2 -0
- data/lib/moov/models/components/payoutdetailserror.rb +6 -2
- data/lib/moov/models/components/payoutdetailserror.rbi +2 -0
- data/lib/moov/models/components/pushdeliveryspeed.rb +19 -0
- data/lib/moov/models/components/pushdeliveryspeed.rbi +11 -0
- data/lib/moov/models/components/pushoptions.rb +38 -0
- data/lib/moov/models/components/pushoptions.rbi +15 -0
- data/lib/moov/models/components/pushoptionserror.rb +36 -0
- data/lib/moov/models/components/pushoptionserror.rbi +15 -0
- data/lib/moov/models/components/pushoptionsupdate.rb +38 -0
- data/lib/moov/models/components/pushoptionsupdate.rbi +15 -0
- data/lib/moov/models/components/sourcesystem.rb +23 -0
- data/lib/moov/models/components/sourcesystem.rbi +11 -0
- data/lib/moov/models/components/surcharge.rb +38 -0
- data/lib/moov/models/components/surcharge.rbi +15 -0
- data/lib/moov/models/components/tax.rb +38 -0
- data/lib/moov/models/components/tax.rbi +15 -0
- data/lib/moov/models/components/termsofservice.rb +1 -1
- data/lib/moov/models/components/updatepaymentlinkamountdetails.rb +3 -3
- data/lib/moov/models/components.rb +8 -0
- data/lib/moov/models/errors/depositaccountvalidationerror.rb +40 -0
- data/lib/moov/models/errors/depositaccountvalidationerror.rbi +17 -0
- data/lib/moov/models/errors.rb +1 -0
- data/lib/moov/models/operations/createdepositaccount_request.rb +40 -0
- data/lib/moov/models/operations/createdepositaccount_request.rbi +17 -0
- data/lib/moov/models/operations/createdepositaccount_response.rb +48 -0
- data/lib/moov/models/operations/createdepositaccount_response.rbi +21 -0
- data/lib/moov/models/operations/linkbankaccount_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
- data/lib/moov/models/operations.rb +2 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov_ruby.rb +1 -0
- metadata +27 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8acb648147dca355e80e20f1ac300d6071fcf1264a48772b07391b7306363e38
|
|
4
|
+
data.tar.gz: d8e6262579bdf3adc8544acdf8b520426ade6250eea3371f518c0502ab3f1ef4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8fa97c921faf7c07da261406faaecd04b02345dd8c0abaa759ae12dec973d9f06be3d39065032b07b6e279184badbad235819807af23cc850e0d62aeafa9f639
|
|
7
|
+
data.tar.gz: 4a0b47ac2b9ebca90fe1e3785f6e51ec6a63f7d73c56f84c3c7557b04019a053b55cef2b74df01643f9fc473a2d5da56698fa05a90541885bc06658e4fd1ae92
|
data/lib/moov/bank_accounts.rb
CHANGED
|
@@ -46,7 +46,7 @@ module Moov
|
|
|
46
46
|
# link - Link a bank account to an existing Moov account. Read our [bank accounts guide](https://docs.moov.io/guides/sources/bank-accounts/) to learn more.
|
|
47
47
|
#
|
|
48
48
|
# It is strongly recommended that callers include the `X-Wait-For` header, set to `payment-method`, if the newly linked
|
|
49
|
-
# bank
|
|
49
|
+
# bank account is intended to be used right away. If this header is not included, the caller will need to poll the [List Payment
|
|
50
50
|
# Methods](https://docs.moov.io/api/sources/payment-methods/list/)
|
|
51
51
|
# endpoint to wait for the new payment methods to be available for use.
|
|
52
52
|
#
|
data/lib/moov/client.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Moov
|
|
|
16
16
|
class Client
|
|
17
17
|
extend T::Sig
|
|
18
18
|
|
|
19
|
-
attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfer_config, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications
|
|
19
|
+
attr_accessor :accounts, :adjustments, :apple_pay, :bank_accounts, :branding, :capabilities, :cards, :disputes, :fee_plans, :files, :google_pay, :images, :invoices, :payment_links, :payment_methods, :products, :representatives, :resolution_links, :scheduling, :statements, :sweeps, :account_terminal_applications, :support, :transfer_config, :transfers, :underwriting, :wallets, :wallet_transactions, :avatars, :end_to_end_encryption, :enriched_address, :enriched_profile, :webhooks, :industries, :institutions, :issuing_transactions, :card_issuing, :authentication, :onboarding, :ping, :receipts, :terminal_applications, :deposit_view
|
|
20
20
|
|
|
21
21
|
# Instantiates the SDK, configuring it with the provided parameters.
|
|
22
22
|
#
|
|
@@ -120,6 +120,7 @@ module Moov
|
|
|
120
120
|
@ping = Ping.new(@sdk_configuration)
|
|
121
121
|
@receipts = Receipts.new(@sdk_configuration)
|
|
122
122
|
@terminal_applications = TerminalApplications.new(@sdk_configuration)
|
|
123
|
+
@deposit_view = DepositView.new(@sdk_configuration)
|
|
123
124
|
end
|
|
124
125
|
|
|
125
126
|
sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
|
|
@@ -0,0 +1,213 @@
|
|
|
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 DepositView
|
|
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(request_body: ::String, account_id: ::String, x_source_system: Models::Components::SourceSystem, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateDepositAccountResponse) }
|
|
45
|
+
def create(request_body:, account_id:, x_source_system:, timeout_ms: nil, http_headers: nil)
|
|
46
|
+
# create - Ingest a deposit account into the deposit view from a core banking source system.
|
|
47
|
+
#
|
|
48
|
+
# The request body is a raw byte payload whose format depends on the core banking
|
|
49
|
+
# system that produced it. Set the `X-Source-System` header to identify that system
|
|
50
|
+
# so the payload can be parsed correctly.
|
|
51
|
+
#
|
|
52
|
+
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
53
|
+
# you'll need to specify the `/accounts/{accountID}/profile.write` scope.
|
|
54
|
+
request = Models::Operations::CreateDepositAccountRequest.new(
|
|
55
|
+
account_id: account_id,
|
|
56
|
+
x_source_system: x_source_system,
|
|
57
|
+
request_body: request_body
|
|
58
|
+
)
|
|
59
|
+
url, params = @sdk_configuration.get_server_details
|
|
60
|
+
base_url = Utils.template_url(url, params)
|
|
61
|
+
url = Utils.generate_url(
|
|
62
|
+
Models::Operations::CreateDepositAccountRequest,
|
|
63
|
+
base_url,
|
|
64
|
+
'/underwriting/{accountID}/deposit-accounts',
|
|
65
|
+
request
|
|
66
|
+
)
|
|
67
|
+
headers = Utils.get_headers(request)
|
|
68
|
+
headers = T.cast(headers, T::Hash[String, String])
|
|
69
|
+
req_content_type, data, form = Utils.serialize_request_body(request, false, false, :request_body, :raw)
|
|
70
|
+
headers['content-type'] = req_content_type
|
|
71
|
+
raise StandardError, 'request body is required' if data.nil? && form.nil?
|
|
72
|
+
|
|
73
|
+
if form && !form.empty?
|
|
74
|
+
body = Utils.encode_form(form)
|
|
75
|
+
elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
|
|
76
|
+
body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
|
|
77
|
+
else
|
|
78
|
+
body = data
|
|
79
|
+
end
|
|
80
|
+
headers['Accept'] = 'application/json'
|
|
81
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
|
82
|
+
|
|
83
|
+
security = @sdk_configuration.security_source&.call
|
|
84
|
+
|
|
85
|
+
timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
|
|
86
|
+
timeout ||= @sdk_configuration.timeout
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
connection = @sdk_configuration.client
|
|
90
|
+
|
|
91
|
+
hook_ctx = SDKHooks::HookContext.new(
|
|
92
|
+
config: @sdk_configuration,
|
|
93
|
+
base_url: base_url,
|
|
94
|
+
oauth2_scopes: nil,
|
|
95
|
+
operation_id: 'createDepositAccount',
|
|
96
|
+
security_source: @sdk_configuration.security_source
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
error = T.let(nil, T.nilable(StandardError))
|
|
100
|
+
http_response = T.let(nil, T.nilable(Faraday::Response))
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
begin
|
|
104
|
+
http_response = T.must(connection).post(url) do |req|
|
|
105
|
+
req.body = body
|
|
106
|
+
req.headers.merge!(headers)
|
|
107
|
+
req.options.timeout = timeout unless timeout.nil?
|
|
108
|
+
Utils.configure_request_security(req, security)
|
|
109
|
+
http_headers&.each do |key, value|
|
|
110
|
+
req.headers[key.to_s] = value
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
@sdk_configuration.hooks.before_request(
|
|
114
|
+
hook_ctx: SDKHooks::BeforeRequestHookContext.new(
|
|
115
|
+
hook_ctx: hook_ctx
|
|
116
|
+
),
|
|
117
|
+
request: req
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
rescue StandardError => e
|
|
121
|
+
error = e
|
|
122
|
+
ensure
|
|
123
|
+
if http_response.nil? || Utils.error_status?(http_response.status)
|
|
124
|
+
http_response = @sdk_configuration.hooks.after_error(
|
|
125
|
+
error: error,
|
|
126
|
+
hook_ctx: SDKHooks::AfterErrorHookContext.new(
|
|
127
|
+
hook_ctx: hook_ctx
|
|
128
|
+
),
|
|
129
|
+
response: http_response
|
|
130
|
+
)
|
|
131
|
+
else
|
|
132
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
133
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
134
|
+
hook_ctx: hook_ctx
|
|
135
|
+
),
|
|
136
|
+
response: http_response
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
if http_response.nil?
|
|
141
|
+
raise error if !error.nil?
|
|
142
|
+
raise 'no response'
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
|
|
147
|
+
if Utils.match_status_code(http_response.status, ['200'])
|
|
148
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
149
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
150
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
151
|
+
hook_ctx: hook_ctx
|
|
152
|
+
),
|
|
153
|
+
response: http_response
|
|
154
|
+
)
|
|
155
|
+
response_data = http_response.env.response_body
|
|
156
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::DepositAccountIngestedResponse)
|
|
157
|
+
response = Models::Operations::CreateDepositAccountResponse.new(
|
|
158
|
+
status_code: http_response.status,
|
|
159
|
+
content_type: content_type,
|
|
160
|
+
raw_response: http_response,
|
|
161
|
+
headers: http_response.headers,
|
|
162
|
+
deposit_account_ingested_response: T.unsafe(obj)
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
return response
|
|
166
|
+
else
|
|
167
|
+
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'
|
|
168
|
+
end
|
|
169
|
+
elsif Utils.match_status_code(http_response.status, ['400', '409'])
|
|
170
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
171
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
172
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
173
|
+
hook_ctx: hook_ctx
|
|
174
|
+
),
|
|
175
|
+
response: http_response
|
|
176
|
+
)
|
|
177
|
+
response_data = http_response.env.response_body
|
|
178
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
|
|
179
|
+
obj.raw_response = http_response
|
|
180
|
+
raise obj
|
|
181
|
+
else
|
|
182
|
+
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'
|
|
183
|
+
end
|
|
184
|
+
elsif Utils.match_status_code(http_response.status, ['422'])
|
|
185
|
+
if Utils.match_content_type(content_type, 'application/json')
|
|
186
|
+
http_response = @sdk_configuration.hooks.after_success(
|
|
187
|
+
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
188
|
+
hook_ctx: hook_ctx
|
|
189
|
+
),
|
|
190
|
+
response: http_response
|
|
191
|
+
)
|
|
192
|
+
response_data = http_response.env.response_body
|
|
193
|
+
obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::DepositAccountValidationError)
|
|
194
|
+
obj.raw_response = http_response
|
|
195
|
+
raise obj
|
|
196
|
+
else
|
|
197
|
+
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'
|
|
198
|
+
end
|
|
199
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
200
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
201
|
+
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
202
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
203
|
+
elsif Utils.match_status_code(http_response.status, ['4XX'])
|
|
204
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
205
|
+
elsif Utils.match_status_code(http_response.status, ['5XX'])
|
|
206
|
+
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
207
|
+
else
|
|
208
|
+
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'
|
|
209
|
+
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
@@ -32,6 +32,7 @@ module Moov
|
|
|
32
32
|
WALLET = new('wallet')
|
|
33
33
|
WALLET_BALANCE = new('wallet.balance')
|
|
34
34
|
CARD_ISSUING = new('card-issuing')
|
|
35
|
+
ISSUING_CARDHOLDER = new('issuing.cardholder')
|
|
35
36
|
PRODUCTION_APP = new('production-app')
|
|
36
37
|
PLATFORM_PRODUCTION_APP = new('platform.production-app')
|
|
37
38
|
PLATFORM_WALLET_TRANSFERS = new('platform.wallet-transfers')
|
|
@@ -18,6 +18,8 @@ module Moov
|
|
|
18
18
|
field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
|
|
19
19
|
# An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
|
|
20
20
|
field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
|
|
21
|
+
# The scheduled date and time for the transfer to be delivered. This field is only valid for push-to-card transfers. Must be between 24 and 48 hours in the future in production. In sandbox mode, any future time up to 48 hours is accepted so integrations can test deferred delivery using the sandbox test cards with relaxed wait times.
|
|
22
|
+
field :scheduled_delivery_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scheduledDeliveryOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
21
23
|
# Specifies the nature and initiator of a transaction.
|
|
22
24
|
#
|
|
23
25
|
# Crucial for recurring and merchant-initiated transactions as per card scheme rules.
|
|
@@ -35,6 +37,8 @@ module Moov
|
|
|
35
37
|
field :canceled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('canceledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
36
38
|
|
|
37
39
|
field :completed_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('completedOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
40
|
+
|
|
41
|
+
field :deferred_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('deferredOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
38
42
|
# The program assigned by the card network that determines the interchange rate for the transfer.
|
|
39
43
|
#
|
|
40
44
|
# @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
|
|
@@ -44,11 +48,12 @@ module Moov
|
|
|
44
48
|
# An alphanumeric code generated by the card network to demonstrate approval for the transaction.
|
|
45
49
|
field :authorization_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationCode') } }
|
|
46
50
|
|
|
47
|
-
sig { params(status: T.nilable(Models::Components::CardTransactionStatus), failure_code: T.nilable(Models::Components::CardTransactionFailureCode), dynamic_descriptor: T.nilable(::String), transaction_source: T.nilable(Models::Components::TransactionSource), initiated_on: T.nilable(::DateTime), confirmed_on: T.nilable(::DateTime), settled_on: T.nilable(::DateTime), failed_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), completed_on: T.nilable(::DateTime), interchange_qualification: T.nilable(::String), fee_program: T.nilable(::String), authorization_code: T.nilable(::String)).void }
|
|
48
|
-
def initialize(status: nil, failure_code: nil, dynamic_descriptor: nil, transaction_source: nil, initiated_on: nil, confirmed_on: nil, settled_on: nil, failed_on: nil, canceled_on: nil, completed_on: nil, interchange_qualification: nil, fee_program: nil, authorization_code: nil)
|
|
51
|
+
sig { params(status: T.nilable(Models::Components::CardTransactionStatus), failure_code: T.nilable(Models::Components::CardTransactionFailureCode), dynamic_descriptor: T.nilable(::String), scheduled_delivery_on: T.nilable(::DateTime), transaction_source: T.nilable(Models::Components::TransactionSource), initiated_on: T.nilable(::DateTime), confirmed_on: T.nilable(::DateTime), settled_on: T.nilable(::DateTime), failed_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), completed_on: T.nilable(::DateTime), deferred_on: T.nilable(::DateTime), interchange_qualification: T.nilable(::String), fee_program: T.nilable(::String), authorization_code: T.nilable(::String)).void }
|
|
52
|
+
def initialize(status: nil, failure_code: nil, dynamic_descriptor: nil, scheduled_delivery_on: nil, transaction_source: nil, initiated_on: nil, confirmed_on: nil, settled_on: nil, failed_on: nil, canceled_on: nil, completed_on: nil, deferred_on: nil, interchange_qualification: nil, fee_program: nil, authorization_code: nil)
|
|
49
53
|
@status = status
|
|
50
54
|
@failure_code = failure_code
|
|
51
55
|
@dynamic_descriptor = dynamic_descriptor
|
|
56
|
+
@scheduled_delivery_on = scheduled_delivery_on
|
|
52
57
|
@transaction_source = transaction_source
|
|
53
58
|
@initiated_on = initiated_on
|
|
54
59
|
@confirmed_on = confirmed_on
|
|
@@ -56,6 +61,7 @@ module Moov
|
|
|
56
61
|
@failed_on = failed_on
|
|
57
62
|
@canceled_on = canceled_on
|
|
58
63
|
@completed_on = completed_on
|
|
64
|
+
@deferred_on = deferred_on
|
|
59
65
|
@interchange_qualification = interchange_qualification
|
|
60
66
|
@fee_program = fee_program
|
|
61
67
|
@authorization_code = authorization_code
|
|
@@ -67,6 +73,7 @@ module Moov
|
|
|
67
73
|
return false unless @status == other.status
|
|
68
74
|
return false unless @failure_code == other.failure_code
|
|
69
75
|
return false unless @dynamic_descriptor == other.dynamic_descriptor
|
|
76
|
+
return false unless @scheduled_delivery_on == other.scheduled_delivery_on
|
|
70
77
|
return false unless @transaction_source == other.transaction_source
|
|
71
78
|
return false unless @initiated_on == other.initiated_on
|
|
72
79
|
return false unless @confirmed_on == other.confirmed_on
|
|
@@ -74,6 +81,7 @@ module Moov
|
|
|
74
81
|
return false unless @failed_on == other.failed_on
|
|
75
82
|
return false unless @canceled_on == other.canceled_on
|
|
76
83
|
return false unless @completed_on == other.completed_on
|
|
84
|
+
return false unless @deferred_on == other.deferred_on
|
|
77
85
|
return false unless @interchange_qualification == other.interchange_qualification
|
|
78
86
|
return false unless @fee_program == other.fee_program
|
|
79
87
|
return false unless @authorization_code == other.authorization_code
|
|
@@ -14,6 +14,8 @@ class Moov::Models::Components::CardTransactionDetails
|
|
|
14
14
|
def failure_code=(str_); end
|
|
15
15
|
def dynamic_descriptor(); end
|
|
16
16
|
def dynamic_descriptor=(str_); end
|
|
17
|
+
def scheduled_delivery_on(); end
|
|
18
|
+
def scheduled_delivery_on=(str_); end
|
|
17
19
|
def transaction_source(); end
|
|
18
20
|
def transaction_source=(str_); end
|
|
19
21
|
def initiated_on(); end
|
|
@@ -28,6 +30,8 @@ class Moov::Models::Components::CardTransactionDetails
|
|
|
28
30
|
def canceled_on=(str_); end
|
|
29
31
|
def completed_on(); end
|
|
30
32
|
def completed_on=(str_); end
|
|
33
|
+
def deferred_on(); end
|
|
34
|
+
def deferred_on=(str_); end
|
|
31
35
|
def interchange_qualification(); end
|
|
32
36
|
def interchange_qualification=(str_); end
|
|
33
37
|
def fee_program(); end
|
|
@@ -14,12 +14,15 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# An optional override of the default card statement descriptor for a transfer. Accounts must be enabled by Moov to set this field.
|
|
16
16
|
field :dynamic_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dynamicDescriptor') } }
|
|
17
|
+
# The scheduled date and time for the transfer to be delivered. This field is only valid for push-to-card transfers. Must be between 24 and 48 hours in the future in production. In sandbox mode, any future time up to 48 hours is accepted so integrations can test deferred delivery using the sandbox test cards with relaxed wait times.
|
|
18
|
+
field :scheduled_delivery_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scheduledDeliveryOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
17
19
|
# An optional field to specify the type of card payout, used to route the transfer with the appropriate business application identifier (BAI).
|
|
18
20
|
field :payout_type, Crystalline::Nilable.new(Models::Components::CardPayoutType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payoutType'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::CardPayoutType, true) } }
|
|
19
21
|
|
|
20
|
-
sig { params(dynamic_descriptor: T.nilable(::String), payout_type: T.nilable(Models::Components::CardPayoutType)).void }
|
|
21
|
-
def initialize(dynamic_descriptor: nil, payout_type: nil)
|
|
22
|
+
sig { params(dynamic_descriptor: T.nilable(::String), scheduled_delivery_on: T.nilable(::DateTime), payout_type: T.nilable(Models::Components::CardPayoutType)).void }
|
|
23
|
+
def initialize(dynamic_descriptor: nil, scheduled_delivery_on: nil, payout_type: nil)
|
|
22
24
|
@dynamic_descriptor = dynamic_descriptor
|
|
25
|
+
@scheduled_delivery_on = scheduled_delivery_on
|
|
23
26
|
@payout_type = payout_type
|
|
24
27
|
end
|
|
25
28
|
|
|
@@ -27,6 +30,7 @@ module Moov
|
|
|
27
30
|
def ==(other)
|
|
28
31
|
return false unless other.is_a? self.class
|
|
29
32
|
return false unless @dynamic_descriptor == other.dynamic_descriptor
|
|
33
|
+
return false unless @scheduled_delivery_on == other.scheduled_delivery_on
|
|
30
34
|
return false unless @payout_type == other.payout_type
|
|
31
35
|
true
|
|
32
36
|
end
|
|
@@ -10,6 +10,8 @@ end
|
|
|
10
10
|
class Moov::Models::Components::CreateTransferDestinationCard
|
|
11
11
|
def dynamic_descriptor(); end
|
|
12
12
|
def dynamic_descriptor=(str_); end
|
|
13
|
+
def scheduled_delivery_on(); end
|
|
14
|
+
def scheduled_delivery_on=(str_); end
|
|
13
15
|
def payout_type(); end
|
|
14
16
|
def payout_type=(str_); end
|
|
15
17
|
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
# The result of ingesting a deposit account into the deposit view.
|
|
11
|
+
class DepositAccountIngestedResponse
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# The Moov account that owns the deposit view the account was ingested into.
|
|
16
|
+
field :moov_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('moovAccountID'), required: true } }
|
|
17
|
+
# The core banking source system that produced the ingested payload.
|
|
18
|
+
field :source_system, Models::Components::SourceSystem, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceSystem'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SourceSystem, false) } }
|
|
19
|
+
# The identifier of the deposit account within the source system.
|
|
20
|
+
field :source_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('sourceAccountID'), required: true } }
|
|
21
|
+
# The date and time the deposit account was ingested.
|
|
22
|
+
field :ingested_at, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('ingestedAt'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
23
|
+
|
|
24
|
+
sig { params(moov_account_id: ::String, source_system: Models::Components::SourceSystem, source_account_id: ::String, ingested_at: ::DateTime).void }
|
|
25
|
+
def initialize(moov_account_id:, source_system:, source_account_id:, ingested_at:)
|
|
26
|
+
@moov_account_id = moov_account_id
|
|
27
|
+
@source_system = source_system
|
|
28
|
+
@source_account_id = source_account_id
|
|
29
|
+
@ingested_at = ingested_at
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
33
|
+
def ==(other)
|
|
34
|
+
return false unless other.is_a? self.class
|
|
35
|
+
return false unless @moov_account_id == other.moov_account_id
|
|
36
|
+
return false unless @source_system == other.source_system
|
|
37
|
+
return false unless @source_account_id == other.source_account_id
|
|
38
|
+
return false unless @ingested_at == other.ingested_at
|
|
39
|
+
true
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::DepositAccountIngestedResponse
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::DepositAccountIngestedResponse
|
|
11
|
+
def moov_account_id(); end
|
|
12
|
+
def moov_account_id=(str_); end
|
|
13
|
+
def source_system(); end
|
|
14
|
+
def source_system=(str_); end
|
|
15
|
+
def source_account_id(); end
|
|
16
|
+
def source_account_id=(str_); end
|
|
17
|
+
def ingested_at(); end
|
|
18
|
+
def ingested_at=(str_); end
|
|
19
|
+
end
|
|
@@ -24,10 +24,8 @@ module Moov
|
|
|
24
24
|
field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
|
|
25
25
|
# The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
|
|
26
26
|
#
|
|
27
|
-
# - `active`: The card is operational and
|
|
28
|
-
# - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
|
|
27
|
+
# - `active`: The card is operational and can approve authorizations.
|
|
29
28
|
# - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
|
|
30
|
-
# - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
|
|
31
29
|
field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardState, false) } }
|
|
32
30
|
# Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
|
|
33
31
|
field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
|
|
@@ -48,6 +48,8 @@ module Moov
|
|
|
48
48
|
field :amount_details, Crystalline::Nilable.new(Models::Components::AmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
|
|
49
49
|
|
|
50
50
|
field :payment_link_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkCode') } }
|
|
51
|
+
# URL to the hosted payment link for the invoice.
|
|
52
|
+
field :payment_link_url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentLinkURL') } }
|
|
51
53
|
# Payment made towards an invoice, will be either a transfer or an external payment.
|
|
52
54
|
field :invoice_payments, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoicePayment)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePayments') } }
|
|
53
55
|
|
|
@@ -63,8 +65,8 @@ module Moov
|
|
|
63
65
|
|
|
64
66
|
field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
65
67
|
|
|
66
|
-
sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::String, customer_display_name: ::String, customer_email: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, description: T.nilable(::String), amount_details: T.nilable(Models::Components::AmountDetails), payment_link_code: T.nilable(::String), invoice_payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), disabled_on: T.nilable(::DateTime)).void }
|
|
67
|
-
def initialize(invoice_id:, invoice_number:, customer_account_id:, customer_display_name:, customer_email:, partner_account_id:, status:, line_items:, subtotal_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, description: nil, amount_details: nil, payment_link_code: nil, invoice_payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil, disabled_on: nil)
|
|
68
|
+
sig { params(invoice_id: ::String, invoice_number: ::String, customer_account_id: ::String, customer_display_name: ::String, customer_email: ::String, partner_account_id: ::String, status: Models::Components::InvoiceStatus, line_items: Models::Components::InvoiceLineItems, subtotal_amount: Models::Components::AmountDecimal, total_amount: Models::Components::AmountDecimal, pending_amount: Models::Components::AmountDecimal, paid_amount: Models::Components::AmountDecimal, refunded_amount: Models::Components::AmountDecimal, disputed_amount: Models::Components::AmountDecimal, created_on: ::DateTime, description: T.nilable(::String), amount_details: T.nilable(Models::Components::AmountDetails), payment_link_code: T.nilable(::String), payment_link_url: T.nilable(::String), invoice_payments: T.nilable(T::Array[Models::Components::InvoicePayment]), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime), sent_on: T.nilable(::DateTime), paid_on: T.nilable(::DateTime), canceled_on: T.nilable(::DateTime), disabled_on: T.nilable(::DateTime)).void }
|
|
69
|
+
def initialize(invoice_id:, invoice_number:, customer_account_id:, customer_display_name:, customer_email:, partner_account_id:, status:, line_items:, subtotal_amount:, total_amount:, pending_amount:, paid_amount:, refunded_amount:, disputed_amount:, created_on:, description: nil, amount_details: nil, payment_link_code: nil, payment_link_url: nil, invoice_payments: nil, invoice_date: nil, due_date: nil, sent_on: nil, paid_on: nil, canceled_on: nil, disabled_on: nil)
|
|
68
70
|
@invoice_id = invoice_id
|
|
69
71
|
@invoice_number = invoice_number
|
|
70
72
|
@customer_account_id = customer_account_id
|
|
@@ -83,6 +85,7 @@ module Moov
|
|
|
83
85
|
@description = description
|
|
84
86
|
@amount_details = amount_details
|
|
85
87
|
@payment_link_code = payment_link_code
|
|
88
|
+
@payment_link_url = payment_link_url
|
|
86
89
|
@invoice_payments = invoice_payments
|
|
87
90
|
@invoice_date = invoice_date
|
|
88
91
|
@due_date = due_date
|
|
@@ -113,6 +116,7 @@ module Moov
|
|
|
113
116
|
return false unless @description == other.description
|
|
114
117
|
return false unless @amount_details == other.amount_details
|
|
115
118
|
return false unless @payment_link_code == other.payment_link_code
|
|
119
|
+
return false unless @payment_link_url == other.payment_link_url
|
|
116
120
|
return false unless @invoice_payments == other.invoice_payments
|
|
117
121
|
return false unless @invoice_date == other.invoice_date
|
|
118
122
|
return false unless @due_date == other.due_date
|
|
@@ -44,6 +44,8 @@ class Moov::Models::Components::Invoice
|
|
|
44
44
|
def amount_details=(str_); end
|
|
45
45
|
def payment_link_code(); end
|
|
46
46
|
def payment_link_code=(str_); end
|
|
47
|
+
def payment_link_url(); end
|
|
48
|
+
def payment_link_url=(str_); end
|
|
47
49
|
def invoice_payments(); end
|
|
48
50
|
def invoice_payments=(str_); end
|
|
49
51
|
def invoice_date(); end
|
|
@@ -24,10 +24,8 @@ module Moov
|
|
|
24
24
|
field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
|
|
25
25
|
# The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
|
|
26
26
|
#
|
|
27
|
-
# - `active`: The card is operational and
|
|
28
|
-
# - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
|
|
27
|
+
# - `active`: The card is operational and can approve authorizations.
|
|
29
28
|
# - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
|
|
30
|
-
# - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
|
|
31
29
|
field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardState, false) } }
|
|
32
30
|
# Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
|
|
33
31
|
field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
|
|
@@ -9,15 +9,11 @@ module Moov
|
|
|
9
9
|
module Components
|
|
10
10
|
# IssuedCardState - The `state` represents the operational status of an issued card. A card can only approve incoming authorizations if it is in an active state.
|
|
11
11
|
#
|
|
12
|
-
# - `active`: The card is operational and
|
|
13
|
-
# - `inactive`: The card cannot approve authorizations. This is currently a temporary state assigned post-creation during the activation process.
|
|
12
|
+
# - `active`: The card is operational and can approve authorizations.
|
|
14
13
|
# - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
|
|
15
|
-
# - `pending-verification`: Awaiting additional authorized user verification before the card can be activated.
|
|
16
14
|
class IssuedCardState < T::Enum
|
|
17
15
|
enums do
|
|
18
16
|
ACTIVE = new('active')
|
|
19
|
-
INACTIVE = new('inactive')
|
|
20
|
-
PENDING_VERIFICATION = new('pending-verification')
|
|
21
17
|
CLOSED = new('closed')
|
|
22
18
|
end
|
|
23
19
|
end
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# The date and time the terms of service were accepted.
|
|
16
16
|
field :accepted_date, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedDate'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
17
|
-
# The IP address from which the terms of service were accepted.
|
|
17
|
+
# The IP address (IPv4 or IPv6) from which the terms of service were accepted.
|
|
18
18
|
field :accepted_ip, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedIP'), required: true } }
|
|
19
19
|
# The user-agent of the user making the request.
|
|
20
20
|
field :accepted_user_agent, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedUserAgent'), required: true } }
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# The date and time the terms of service were accepted.
|
|
16
16
|
field :accepted_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedDate'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
|
|
17
|
-
# The IP address from which the terms of service were accepted.
|
|
17
|
+
# The IP address (IPv4 or IPv6) from which the terms of service were accepted.
|
|
18
18
|
field :accepted_ip, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedIP') } }
|
|
19
19
|
# The user-agent of the user making the request.
|
|
20
20
|
field :accepted_user_agent, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('acceptedUserAgent') } }
|
|
@@ -12,22 +12,22 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
+
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
16
|
+
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
15
17
|
# Optional alias from a foreign/external system which can be used to reference this resource.
|
|
16
18
|
field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
sig { params(foreign_id: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
|
|
21
|
-
def initialize(foreign_id: nil, metadata: nil)
|
|
22
|
-
@foreign_id = foreign_id
|
|
20
|
+
sig { params(metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String)).void }
|
|
21
|
+
def initialize(metadata: nil, foreign_id: nil)
|
|
23
22
|
@metadata = metadata
|
|
23
|
+
@foreign_id = foreign_id
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
27
27
|
def ==(other)
|
|
28
28
|
return false unless other.is_a? self.class
|
|
29
|
-
return false unless @foreign_id == other.foreign_id
|
|
30
29
|
return false unless @metadata == other.metadata
|
|
30
|
+
return false unless @foreign_id == other.foreign_id
|
|
31
31
|
true
|
|
32
32
|
end
|
|
33
33
|
end
|
|
@@ -20,7 +20,7 @@ module Moov
|
|
|
20
20
|
field :status, Crystalline::Nilable.new(Models::Components::WalletStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletStatus, true) } }
|
|
21
21
|
|
|
22
22
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('metadata') } }
|
|
25
25
|
|
|
26
26
|
sig { params(name: T.nilable(::String), status: T.nilable(Models::Components::WalletStatus), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
|