moov_ruby 26.7.0 → 26.7.1

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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/avatars.rb +4 -4
  3. data/lib/moov/card_issuing.rb +116 -0
  4. data/lib/moov/client.rb +2 -2
  5. data/lib/moov/enriched_address.rb +1 -1
  6. data/lib/moov/enriched_profile.rb +1 -1
  7. data/lib/moov/institutions.rb +1 -1
  8. data/lib/moov/models/components/allowedscheduleerror.rb +36 -0
  9. data/lib/moov/models/components/allowedscheduleerror.rbi +15 -0
  10. data/lib/moov/models/components/createdtransfer.rb +6 -2
  11. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  12. data/lib/moov/models/components/createrefund.rb +2 -2
  13. data/lib/moov/models/components/createreversal.rb +1 -1
  14. data/lib/moov/models/components/fullissuedcard.rb +3 -3
  15. data/lib/moov/models/components/issuedcard.rb +3 -3
  16. data/lib/moov/models/components/issuedcontrols.rb +52 -0
  17. data/lib/moov/models/components/issuedcontrols.rbi +23 -0
  18. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +36 -0
  19. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +15 -0
  20. data/lib/moov/models/components/issuedvelocitylimit.rb +60 -0
  21. data/lib/moov/models/components/issuedvelocitylimit.rbi +27 -0
  22. data/lib/moov/models/components/issuingcontrols.rb +18 -2
  23. data/lib/moov/models/components/issuingcontrols.rbi +8 -0
  24. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +36 -0
  25. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +15 -0
  26. data/lib/moov/models/components/issuingcontrolserror.rb +18 -2
  27. data/lib/moov/models/components/issuingcontrolserror.rbi +8 -0
  28. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +19 -0
  29. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +11 -0
  30. data/lib/moov/models/components/issuingintervallimit.rb +3 -0
  31. data/lib/moov/models/components/issuingmerchantcategory.rb +43 -0
  32. data/lib/moov/models/components/issuingmerchantcategory.rbi +11 -0
  33. data/lib/moov/models/components/issuingscheduleday.rb +24 -0
  34. data/lib/moov/models/components/issuingscheduleday.rbi +11 -0
  35. data/lib/moov/models/components/issuingvelocitylimit.rb +10 -6
  36. data/lib/moov/models/components/issuingvelocitylimit.rbi +4 -2
  37. data/lib/moov/models/components/issuingvelocitylimiterror.rb +6 -2
  38. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +2 -0
  39. data/lib/moov/models/components/merchantcategories.rb +32 -0
  40. data/lib/moov/models/components/merchantcategories.rbi +13 -0
  41. data/lib/moov/models/components/merchantcategory.rb +37 -0
  42. data/lib/moov/models/components/merchantcategory.rbi +15 -0
  43. data/lib/moov/models/components/merchantcategoryrestrictions.rb +44 -0
  44. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +19 -0
  45. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +44 -0
  46. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +19 -0
  47. data/lib/moov/models/components/merchantentry.rb +40 -0
  48. data/lib/moov/models/components/merchantentry.rbi +17 -0
  49. data/lib/moov/models/components/merchantentryerror.rb +36 -0
  50. data/lib/moov/models/components/merchantentryerror.rbi +15 -0
  51. data/lib/moov/models/components/merchantrestrictions.rb +36 -0
  52. data/lib/moov/models/components/merchantrestrictions.rbi +15 -0
  53. data/lib/moov/models/components/merchantrestrictionserror.rb +36 -0
  54. data/lib/moov/models/components/merchantrestrictionserror.rbi +15 -0
  55. data/lib/moov/models/components/paymentmethodswallet.rb +1 -0
  56. data/lib/moov/models/components/schedulewindow.rb +40 -0
  57. data/lib/moov/models/components/schedulewindow.rbi +17 -0
  58. data/lib/moov/models/components/schedulewindowerror.rb +40 -0
  59. data/lib/moov/models/components/schedulewindowerror.rbi +17 -0
  60. data/lib/moov/models/components/sendfunds.rb +6 -2
  61. data/lib/moov/models/components/sendfunds.rbi +2 -0
  62. data/lib/moov/models/components/sendfundserror.rb +6 -2
  63. data/lib/moov/models/components/sendfundserror.rbi +2 -0
  64. data/lib/moov/models/components/sendfundswire.rb +32 -0
  65. data/lib/moov/models/components/sendfundswire.rbi +13 -0
  66. data/lib/moov/models/components/sendfundswireerror.rb +32 -0
  67. data/lib/moov/models/components/sendfundswireerror.rbi +13 -0
  68. data/lib/moov/models/components/transfer.rb +6 -2
  69. data/lib/moov/models/components/transfer.rbi +2 -0
  70. data/lib/moov/models/components/transfercapture.rb +36 -0
  71. data/lib/moov/models/components/transfercapture.rbi +15 -0
  72. data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -0
  73. data/lib/moov/models/components/updateissuedcard.rb +6 -2
  74. data/lib/moov/models/components/updateissuedcard.rbi +2 -0
  75. data/lib/moov/models/components/updateissuingcontrols.rb +48 -0
  76. data/lib/moov/models/components/updateissuingcontrols.rbi +21 -0
  77. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +36 -0
  78. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +15 -0
  79. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +44 -0
  80. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +19 -0
  81. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +36 -0
  82. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +15 -0
  83. data/lib/moov/models/components/updateissuingcontrolserror.rb +48 -0
  84. data/lib/moov/models/components/updateissuingcontrolserror.rbi +21 -0
  85. data/lib/moov/models/components/wallet.rb +1 -0
  86. data/lib/moov/models/components/wallettype.rb +2 -0
  87. data/lib/moov/models/components/webhookdatatransferstatus.rb +3 -0
  88. data/lib/moov/models/components.rb +26 -0
  89. data/lib/moov/models/errors/transfer_error.rb +6 -2
  90. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  91. data/lib/moov/models/errors/updateissuedcarderror.rb +6 -2
  92. data/lib/moov/models/errors/updateissuedcarderror.rbi +2 -0
  93. data/lib/moov/models/operations/listissuingmerchantcategories_response.rb +48 -0
  94. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +21 -0
  95. data/lib/moov/models/operations/listtransfers_request.rb +10 -2
  96. data/lib/moov/models/operations/listtransfers_request.rbi +4 -0
  97. data/lib/moov/models/operations.rb +1 -0
  98. data/lib/moov/sdkconfiguration.rb +2 -2
  99. data/lib/moov_ruby.rb +1 -1
  100. metadata +56 -2
@@ -0,0 +1,36 @@
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
+
11
+ class MerchantEntryError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :mid, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mid') } }
17
+
18
+ field :descriptor_pattern, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('descriptorPattern') } }
19
+
20
+ sig { params(mid: T.nilable(::String), descriptor_pattern: T.nilable(::String)).void }
21
+ def initialize(mid: nil, descriptor_pattern: nil)
22
+ @mid = mid
23
+ @descriptor_pattern = descriptor_pattern
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @mid == other.mid
30
+ return false unless @descriptor_pattern == other.descriptor_pattern
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantEntryError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantEntryError
11
+ def mid(); end
12
+ def mid=(str_); end
13
+ def descriptor_pattern(); end
14
+ def descriptor_pattern=(str_); end
15
+ end
@@ -0,0 +1,36 @@
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
+ # Restricts card usage to specific merchants, independent of merchant category.
11
+ class MerchantRestrictions
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Whether the listed merchants are the only ones allowed, or the ones to block.
16
+ field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
17
+ # The merchants to allow or block.
18
+ field :merchants, Crystalline::Array.new(Models::Components::MerchantEntry), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchants'), required: true } }
19
+
20
+ sig { params(mode: Models::Components::IssuingControlsRestrictionMode, merchants: T::Array[Models::Components::MerchantEntry]).void }
21
+ def initialize(mode:, merchants:)
22
+ @mode = mode
23
+ @merchants = merchants
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @mode == other.mode
30
+ return false unless @merchants == other.merchants
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantRestrictions
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantRestrictions
11
+ def mode(); end
12
+ def mode=(str_); end
13
+ def merchants(); end
14
+ def merchants=(str_); end
15
+ end
@@ -0,0 +1,36 @@
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
+
11
+ class MerchantRestrictionsError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :mode, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode') } }
17
+
18
+ field :merchants, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::MerchantEntryError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchants') } }
19
+
20
+ sig { params(mode: T.nilable(::String), merchants: T.nilable(T::Hash[Symbol, Models::Components::MerchantEntryError])).void }
21
+ def initialize(mode: nil, merchants: nil)
22
+ @mode = mode
23
+ @merchants = merchants
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @mode == other.mode
30
+ return false unless @merchants == other.merchants
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::MerchantRestrictionsError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::MerchantRestrictionsError
11
+ def mode(); end
12
+ def mode=(str_); end
13
+ def merchants(); end
14
+ def merchants=(str_); end
15
+ end
@@ -19,6 +19,7 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
+ # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
22
23
  field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
23
24
 
24
25
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
@@ -0,0 +1,40 @@
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
+ # A window of time during which the card may authorize.
11
+ class ScheduleWindow
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The days of the week this window applies to.
16
+ field :days, Crystalline::Array.new(Models::Components::IssuingScheduleDay), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('days'), required: true } }
17
+ # Inclusive window start time in 24-hour `HH:MM` format.
18
+ field :start_time, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('startTime'), required: true } }
19
+ # Exclusive window end time in 24-hour `HH:MM` format. If earlier than `startTime`, the window wraps past midnight.
20
+ field :end_time, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('endTime'), required: true } }
21
+
22
+ sig { params(days: T::Array[Models::Components::IssuingScheduleDay], start_time: ::String, end_time: ::String).void }
23
+ def initialize(days:, start_time:, end_time:)
24
+ @days = days
25
+ @start_time = start_time
26
+ @end_time = end_time
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @days == other.days
33
+ return false unless @start_time == other.start_time
34
+ return false unless @end_time == other.end_time
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ScheduleWindow
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ScheduleWindow
11
+ def days(); end
12
+ def days=(str_); end
13
+ def start_time(); end
14
+ def start_time=(str_); end
15
+ def end_time(); end
16
+ def end_time=(str_); end
17
+ end
@@ -0,0 +1,40 @@
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
+
11
+ class ScheduleWindowError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :days, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('days') } }
17
+
18
+ field :start_time, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('startTime') } }
19
+
20
+ field :end_time, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('endTime') } }
21
+
22
+ sig { params(days: T.nilable(::String), start_time: T.nilable(::String), end_time: T.nilable(::String)).void }
23
+ def initialize(days: nil, start_time: nil, end_time: nil)
24
+ @days = days
25
+ @start_time = start_time
26
+ @end_time = end_time
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @days == other.days
33
+ return false unless @start_time == other.start_time
34
+ return false unless @end_time == other.end_time
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ScheduleWindowError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ScheduleWindowError
11
+ def days(); end
12
+ def days=(str_); end
13
+ def start_time(); end
14
+ def start_time=(str_); end
15
+ def end_time(); end
16
+ def end_time=(str_); end
17
+ end
@@ -21,12 +21,15 @@ module Moov
21
21
 
22
22
  field :instant_bank, Crystalline::Nilable.new(Models::Components::SendFundsInstantBank), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBank') } }
23
23
 
24
- sig { params(ach: T.nilable(Models::Components::SendFundsAch), push_to_card: T.nilable(Models::Components::SendFundsPushToCard), rtp: T.nilable(Models::Components::SendFundsRtp), instant_bank: T.nilable(Models::Components::SendFundsInstantBank)).void }
25
- def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil)
24
+ field :wire, Crystalline::Nilable.new(Models::Components::SendFundsWire), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
25
+
26
+ sig { params(ach: T.nilable(Models::Components::SendFundsAch), push_to_card: T.nilable(Models::Components::SendFundsPushToCard), rtp: T.nilable(Models::Components::SendFundsRtp), instant_bank: T.nilable(Models::Components::SendFundsInstantBank), wire: T.nilable(Models::Components::SendFundsWire)).void }
27
+ def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil, wire: nil)
26
28
  @ach = ach
27
29
  @push_to_card = push_to_card
28
30
  @rtp = rtp
29
31
  @instant_bank = instant_bank
32
+ @wire = wire
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Moov
36
39
  return false unless @push_to_card == other.push_to_card
37
40
  return false unless @rtp == other.rtp
38
41
  return false unless @instant_bank == other.instant_bank
42
+ return false unless @wire == other.wire
39
43
  true
40
44
  end
41
45
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::SendFunds
16
16
  def rtp=(str_); end
17
17
  def instant_bank(); end
18
18
  def instant_bank=(str_); end
19
+ def wire(); end
20
+ def wire=(str_); end
19
21
  end
@@ -21,12 +21,15 @@ module Moov
21
21
 
22
22
  field :instant_bank, Crystalline::Nilable.new(Models::Components::SendFundsInstantBankError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('instantBank') } }
23
23
 
24
- sig { params(ach: T.nilable(Models::Components::SendFundsAchError), push_to_card: T.nilable(Models::Components::SendFundsPushToCardError), rtp: T.nilable(Models::Components::SendFundsRtpError), instant_bank: T.nilable(Models::Components::SendFundsInstantBankError)).void }
25
- def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil)
24
+ field :wire, Crystalline::Nilable.new(Models::Components::SendFundsWireError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('wire') } }
25
+
26
+ sig { params(ach: T.nilable(Models::Components::SendFundsAchError), push_to_card: T.nilable(Models::Components::SendFundsPushToCardError), rtp: T.nilable(Models::Components::SendFundsRtpError), instant_bank: T.nilable(Models::Components::SendFundsInstantBankError), wire: T.nilable(Models::Components::SendFundsWireError)).void }
27
+ def initialize(ach: nil, push_to_card: nil, rtp: nil, instant_bank: nil, wire: nil)
26
28
  @ach = ach
27
29
  @push_to_card = push_to_card
28
30
  @rtp = rtp
29
31
  @instant_bank = instant_bank
32
+ @wire = wire
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module Moov
36
39
  return false unless @push_to_card == other.push_to_card
37
40
  return false unless @rtp == other.rtp
38
41
  return false unless @instant_bank == other.instant_bank
42
+ return false unless @wire == other.wire
39
43
  true
40
44
  end
41
45
  end
@@ -16,4 +16,6 @@ class Moov::Models::Components::SendFundsError
16
16
  def rtp=(str_); end
17
17
  def instant_bank(); end
18
18
  def instant_bank=(str_); end
19
+ def wire(); end
20
+ def wire=(str_); end
19
21
  end
@@ -0,0 +1,32 @@
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
+
11
+ class SendFundsWire
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :estimated_activity, Crystalline::Nilable.new(Models::Components::EstimatedActivity), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('estimatedActivity') } }
17
+
18
+ sig { params(estimated_activity: T.nilable(Models::Components::EstimatedActivity)).void }
19
+ def initialize(estimated_activity: nil)
20
+ @estimated_activity = estimated_activity
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @estimated_activity == other.estimated_activity
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::SendFundsWire
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::SendFundsWire
11
+ def estimated_activity(); end
12
+ def estimated_activity=(str_); end
13
+ end
@@ -0,0 +1,32 @@
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
+
11
+ class SendFundsWireError
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :estimated_activity, Crystalline::Nilable.new(Models::Components::EstimatedActivityError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('estimatedActivity') } }
17
+
18
+ sig { params(estimated_activity: T.nilable(Models::Components::EstimatedActivityError)).void }
19
+ def initialize(estimated_activity: nil)
20
+ @estimated_activity = estimated_activity
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @estimated_activity == other.estimated_activity
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::SendFundsWireError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::SendFundsWireError
11
+ def estimated_activity(); end
12
+ def estimated_activity=(str_); end
13
+ end
@@ -71,9 +71,11 @@ module Moov
71
71
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID') } }
72
72
 
73
73
  field :amount_details, Crystalline::Nilable.new(Models::Components::TransferAmountDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountDetails') } }
74
+ # The card authorization and capture IDs associated with a transfer.
75
+ field :capture, Crystalline::Nilable.new(Models::Components::TransferCapture), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capture') } }
74
76
 
75
- sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), invoice_id: T.nilable(::String), amount_details: T.nilable(Models::Components::TransferAmountDetails)).void }
76
- def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, foreign_id: nil, line_items: nil, invoice_id: nil, amount_details: nil)
77
+ sig { params(transfer_id: ::String, created_on: ::DateTime, source: Models::Components::TransferSource, destination: Models::Components::TransferDestination, status: Models::Components::TransferStatus, amount: Models::Components::Amount, completed_on: T.nilable(::DateTime), failure_reason: T.nilable(Models::Components::TransferFailureReason), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), facilitator_fee: T.nilable(Models::Components::FacilitatorFee), moov_fee: T.nilable(::Integer), moov_fee_decimal: T.nilable(::String), moov_fee_details: T.nilable(Models::Components::MoovFeeDetails), moov_fees: T.nilable(T::Array[Models::Components::MoovFee]), group_id: T.nilable(::String), cancellations: T.nilable(T::Array[Models::Components::Cancellation]), refunded_amount: T.nilable(Models::Components::Amount), refunds: T.nilable(T::Array[Models::Components::CardAcquiringRefund]), disputed_amount: T.nilable(Models::Components::Amount), disputes: T.nilable(T::Array[Models::Components::CardAcquiringDispute]), sweep_id: T.nilable(::String), schedule_id: T.nilable(::String), occurrence_id: T.nilable(::String), payment_link_code: T.nilable(::String), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), invoice_id: T.nilable(::String), amount_details: T.nilable(Models::Components::TransferAmountDetails), capture: T.nilable(Models::Components::TransferCapture)).void }
78
+ def initialize(transfer_id:, created_on:, source:, destination:, status:, amount:, completed_on: nil, failure_reason: nil, description: nil, metadata: nil, facilitator_fee: nil, moov_fee: nil, moov_fee_decimal: nil, moov_fee_details: nil, moov_fees: nil, group_id: nil, cancellations: nil, refunded_amount: nil, refunds: nil, disputed_amount: nil, disputes: nil, sweep_id: nil, schedule_id: nil, occurrence_id: nil, payment_link_code: nil, foreign_id: nil, line_items: nil, invoice_id: nil, amount_details: nil, capture: nil)
77
79
  @transfer_id = transfer_id
78
80
  @created_on = created_on
79
81
  @source = source
@@ -103,6 +105,7 @@ module Moov
103
105
  @line_items = line_items
104
106
  @invoice_id = invoice_id
105
107
  @amount_details = amount_details
108
+ @capture = capture
106
109
  end
107
110
 
108
111
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -137,6 +140,7 @@ module Moov
137
140
  return false unless @line_items == other.line_items
138
141
  return false unless @invoice_id == other.invoice_id
139
142
  return false unless @amount_details == other.amount_details
143
+ return false unless @capture == other.capture
140
144
  true
141
145
  end
142
146
  end
@@ -66,4 +66,6 @@ class Moov::Models::Components::Transfer
66
66
  def invoice_id=(str_); end
67
67
  def amount_details(); end
68
68
  def amount_details=(str_); end
69
+ def capture(); end
70
+ def capture=(str_); end
69
71
  end
@@ -0,0 +1,36 @@
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 card authorization and capture IDs associated with a transfer.
11
+ class TransferCapture
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the card authorization associated with this transfer.
16
+ field :authorization_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID'), required: true } }
17
+ # ID of the card capture associated with this transfer.
18
+ field :capture_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('captureID'), required: true } }
19
+
20
+ sig { params(authorization_id: ::String, capture_id: ::String).void }
21
+ def initialize(authorization_id:, capture_id:)
22
+ @authorization_id = authorization_id
23
+ @capture_id = capture_id
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @authorization_id == other.authorization_id
30
+ return false unless @capture_id == other.capture_id
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferCapture
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferCapture
11
+ def authorization_id(); end
12
+ def authorization_id=(str_); end
13
+ def capture_id(); end
14
+ def capture_id=(str_); end
15
+ end
@@ -19,6 +19,7 @@ module Moov
19
19
  # Type of a wallet.
20
20
  # - `default`: The system-generated wallet automatically created when an account is granted the wallet capability.
21
21
  # - `general`: An additional, user-defined wallet created via API or Dashboard.
22
+ # - `card-issuing`: The system-generated wallet automatically created when an account is granted the card-issuing capability.
22
23
  field :wallet_type, Models::Components::WalletType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('walletType'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::WalletType, false) } }
23
24
 
24
25
  sig { params(wallet_id: ::String, partner_account_id: ::String, wallet_type: Models::Components::WalletType).void }
@@ -15,6 +15,8 @@ module Moov
15
15
  # Updates the state of a Moov issued card.
16
16
  # - `closed`: The card is permanently deactivated and cannot approve authorizations. A card can be closed by request or when it expires.
17
17
  field :state, Crystalline::Nilable.new(Models::Components::UpdateIssuedCardState), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::UpdateIssuedCardState, true) } }
18
+ # Mutable spend controls for the card.
19
+ field :controls, Crystalline::Nilable.new(Models::Components::UpdateIssuingControls), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('controls') } }
18
20
 
19
21
  field :nickname, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('nickname') } }
20
22
 
@@ -22,9 +24,10 @@ module Moov
22
24
 
23
25
  field :billing_address, Crystalline::Nilable.new(Models::Components::BillingAddress), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('billingAddress') } }
24
26
 
25
- sig { params(state: T.nilable(Models::Components::UpdateIssuedCardState), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::BillingAddress)).void }
26
- def initialize(state: nil, nickname: nil, metadata: nil, billing_address: nil)
27
+ sig { params(state: T.nilable(Models::Components::UpdateIssuedCardState), controls: T.nilable(Models::Components::UpdateIssuingControls), nickname: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), billing_address: T.nilable(Models::Components::BillingAddress)).void }
28
+ def initialize(state: nil, controls: nil, nickname: nil, metadata: nil, billing_address: nil)
27
29
  @state = state
30
+ @controls = controls
28
31
  @nickname = nickname
29
32
  @metadata = metadata
30
33
  @billing_address = billing_address
@@ -34,6 +37,7 @@ module Moov
34
37
  def ==(other)
35
38
  return false unless other.is_a? self.class
36
39
  return false unless @state == other.state
40
+ return false unless @controls == other.controls
37
41
  return false unless @nickname == other.nickname
38
42
  return false unless @metadata == other.metadata
39
43
  return false unless @billing_address == other.billing_address
@@ -10,6 +10,8 @@ end
10
10
  class Moov::Models::Components::UpdateIssuedCard
11
11
  def state(); end
12
12
  def state=(str_); end
13
+ def controls(); end
14
+ def controls=(str_); end
13
15
  def nickname(); end
14
16
  def nickname=(str_); end
15
17
  def metadata(); end
@@ -0,0 +1,48 @@
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
+ # Mutable spend controls. Each field replaces the entire corresponding value.
11
+ class UpdateIssuingControls
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # Replaces the entire set of velocity limits. Send an empty array to clear all limits.
16
+ field :velocity_limits, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingVelocityLimit)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('velocityLimits') } }
17
+ # Replaces the merchant category restrictions. Set to `null` to remove.
18
+ field :merchant_category_restrictions, Crystalline::Nilable.new(Models::Components::UpdateIssuingControlsMerchantCategoryRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategoryRestrictions') } }
19
+ # Replaces the merchant restrictions. Set to `null` to remove.
20
+ field :merchant_restrictions, Crystalline::Nilable.new(Models::Components::UpdateIssuingControlsMerchantRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantRestrictions') } }
21
+ # Replaces the allowed schedule. Set to `null` to remove all schedule restrictions.
22
+ field :allowed_schedule, Crystalline::Nilable.new(Models::Components::UpdateIssuingControlsAllowedSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSchedule') } }
23
+ # A spend cutoff date and time. Set to `null` to remove the cutoff.
24
+ field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
25
+
26
+ sig { params(velocity_limits: T.nilable(T::Array[Models::Components::IssuingVelocityLimit]), merchant_category_restrictions: T.nilable(Models::Components::UpdateIssuingControlsMerchantCategoryRestrictions), merchant_restrictions: T.nilable(Models::Components::UpdateIssuingControlsMerchantRestrictions), allowed_schedule: T.nilable(Models::Components::UpdateIssuingControlsAllowedSchedule), expires_on: T.nilable(::DateTime)).void }
27
+ def initialize(velocity_limits: nil, merchant_category_restrictions: nil, merchant_restrictions: nil, allowed_schedule: nil, expires_on: nil)
28
+ @velocity_limits = velocity_limits
29
+ @merchant_category_restrictions = merchant_category_restrictions
30
+ @merchant_restrictions = merchant_restrictions
31
+ @allowed_schedule = allowed_schedule
32
+ @expires_on = expires_on
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @velocity_limits == other.velocity_limits
39
+ return false unless @merchant_category_restrictions == other.merchant_category_restrictions
40
+ return false unless @merchant_restrictions == other.merchant_restrictions
41
+ return false unless @allowed_schedule == other.allowed_schedule
42
+ return false unless @expires_on == other.expires_on
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end