moov_ruby 0.3.6 → 0.3.8

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/accounts.rb +1 -1
  3. data/lib/moov/apple_pay.rb +3 -3
  4. data/lib/moov/branding.rb +1 -1
  5. data/lib/moov/card_issuing.rb +1 -1
  6. data/lib/moov/cards.rb +6 -6
  7. data/lib/moov/images.rb +5 -6
  8. data/lib/moov/models/components/createevidencefilemultipart.rb +1 -1
  9. data/lib/moov/models/components/createpaymentlink.rb +2 -3
  10. data/lib/moov/models/components/createpaymentlinklineitem.rb +53 -0
  11. data/lib/moov/models/components/createpaymentlinklineitem.rbi +23 -0
  12. data/lib/moov/models/components/createpaymentlinklineitemoption.rb +49 -0
  13. data/lib/moov/models/components/createpaymentlinklineitemoption.rbi +21 -0
  14. data/lib/moov/models/components/{paymentlinklineitemoptionvalidationerror.rb → createpaymentlinklineitemoptionvalidationerror.rb} +1 -1
  15. data/lib/moov/models/components/{paymentlinklineitemoptionvalidationerror.rbi → createpaymentlinklineitemoptionvalidationerror.rbi} +2 -2
  16. data/lib/moov/models/components/createpaymentlinklineitems.rb +34 -0
  17. data/lib/moov/models/components/{paymentlinklineitemsupdate.rbi → createpaymentlinklineitems.rbi} +2 -2
  18. data/lib/moov/models/components/{paymentlinklineitemsupdate.rb → createpaymentlinklineitemsupdate.rb} +3 -3
  19. data/lib/moov/models/components/{paymentlinklineitemsvalidationerror.rbi → createpaymentlinklineitemsupdate.rbi} +2 -2
  20. data/lib/moov/models/components/{paymentlinklineitemsvalidationerror.rb → createpaymentlinklineitemsvalidationerror.rb} +3 -3
  21. data/lib/moov/models/components/createpaymentlinklineitemsvalidationerror.rbi +13 -0
  22. data/lib/moov/models/components/{paymentlinklineitemvalidationerror.rb → createpaymentlinklineitemvalidationerror.rb} +3 -3
  23. data/lib/moov/models/components/{paymentlinklineitemvalidationerror.rbi → createpaymentlinklineitemvalidationerror.rbi} +2 -2
  24. data/lib/moov/models/components/fileuploadrequestmultipart.rb +2 -2
  25. data/lib/moov/models/components/{imageuploadrequestmultipart_image.rb → image.rb} +1 -1
  26. data/lib/moov/models/components/{imageupdaterequestmultipart_image.rbi → image.rbi} +2 -2
  27. data/lib/moov/models/components/imageuploadrequestmultipart.rb +4 -4
  28. data/lib/moov/models/components/patchsweepconfig.rb +4 -4
  29. data/lib/moov/models/components/paymentlinklineitem.rb +6 -2
  30. data/lib/moov/models/components/paymentlinklineitem.rbi +2 -0
  31. data/lib/moov/models/components/paymentlinklineitemimagemetadata.rb +45 -0
  32. data/lib/moov/models/components/paymentlinklineitemimagemetadata.rbi +19 -0
  33. data/lib/moov/models/components/paymentlinklineitemoption.rb +6 -2
  34. data/lib/moov/models/components/paymentlinklineitemoption.rbi +2 -0
  35. data/lib/moov/models/components/updatepaymentlink.rb +2 -2
  36. data/lib/moov/models/components/updaterepresentative.rb +2 -2
  37. data/lib/moov/models/components.rb +9 -16
  38. data/lib/moov/models/errors/createpaymentlinkerror.rb +2 -2
  39. data/lib/moov/models/errors/updatepaymentlinkerror.rb +2 -2
  40. data/lib/moov/models/operations/createapplepaysession_response.rb +1 -1
  41. data/lib/moov/models/operations/createpaymentlink_request.rb +1 -1
  42. data/lib/moov/models/operations/disablepaymentlink_request.rb +1 -1
  43. data/lib/moov/models/operations/getpaymentlink_request.rb +1 -1
  44. data/lib/moov/models/operations/getpaymentlinkqrcode_request.rb +1 -1
  45. data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
  46. data/lib/moov/models/operations/updateimage_request.rb +5 -5
  47. data/lib/moov/models/operations/updateimage_request.rbi +2 -2
  48. data/lib/moov/models/operations/updatepaymentlink_request.rb +1 -1
  49. data/lib/moov/payment_links.rb +1 -1
  50. data/lib/moov/representatives.rb +2 -2
  51. data/lib/moov/sdkconfiguration.rb +3 -3
  52. data/lib/moov/support.rb +1 -1
  53. data/lib/moov/sweeps.rb +1 -1
  54. data/lib/moov/transfers.rb +3 -3
  55. data/lib/moov/wallets.rb +1 -1
  56. metadata +20 -34
  57. data/lib/moov/models/components/email.rb +0 -28
  58. data/lib/moov/models/components/email.rbi +0 -11
  59. data/lib/moov/models/components/email_union.rb +0 -28
  60. data/lib/moov/models/components/email_union.rbi +0 -11
  61. data/lib/moov/models/components/imageupdaterequestmultipart.rb +0 -39
  62. data/lib/moov/models/components/imageupdaterequestmultipart.rbi +0 -15
  63. data/lib/moov/models/components/imageupdaterequestmultipart_image.rb +0 -37
  64. data/lib/moov/models/components/imageuploadrequestmultipart_image.rbi +0 -15
  65. data/lib/moov/models/components/metadata.rb +0 -35
  66. data/lib/moov/models/components/metadata.rbi +0 -13
  67. data/lib/moov/models/components/pullpaymentmethodid.rb +0 -28
  68. data/lib/moov/models/components/pullpaymentmethodid.rbi +0 -11
  69. data/lib/moov/models/components/pullpaymentmethodid_union.rb +0 -28
  70. data/lib/moov/models/components/pullpaymentmethodid_union.rbi +0 -11
  71. data/lib/moov/models/components/pushpaymentmethodid.rb +0 -28
  72. data/lib/moov/models/components/pushpaymentmethodid.rbi +0 -11
  73. data/lib/moov/models/components/pushpaymentmethodid_union.rb +0 -28
  74. data/lib/moov/models/components/pushpaymentmethodid_union.rbi +0 -11
  75. data/lib/moov/models/components/statementdescriptor.rb +0 -28
  76. data/lib/moov/models/components/statementdescriptor.rbi +0 -11
  77. data/lib/moov/models/components/statementdescriptor_union.rb +0 -28
  78. data/lib/moov/models/components/statementdescriptor_union.rbi +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e82043d611fe54224db3e889d98f954b9ad7f1ab7e0f64a4f68889136c80888
4
- data.tar.gz: 7a08c95366851014e14bef987adff72fa91dd7806e7230b53eea4c14101a9844
3
+ metadata.gz: 015ac1e33efa126fc5282aaed6abc4d99a097dfa283e7ee5d652315431456582
4
+ data.tar.gz: bc9e6afdd5bd152791a748f0a85747d070d228b83da38b0a36dda1ddbb75ecd7
5
5
  SHA512:
6
- metadata.gz: d2130c4b174e5c1a6248003a01221f734d106b6d1f6cabc2e9d6b39a080174c9d5cdd6bc47cbcdc31cc916b4d957f41c418a7f6c96f2af623f0311ae68cee0bc
7
- data.tar.gz: 97cdbff89a9d057eaabb6f557beeed3d54470b647d07ef824835a0b3bb96756b5a00140e32dd132caa39fc74fc31df2f1d9918eacb7c1e5c20f40742ac77c025
6
+ metadata.gz: 3616f5cf31bb11656c124c7086524daf305563e8ad9f0bce67232bf82a17b827d44564b0c198f17b090de502bc827573ac5ad6d1b12372966d0b6fa9014b9dc2
7
+ data.tar.gz: ec2fd4d9b7593a584e851711602efed87dc709dc0031869986a0aa911678982fbf1ee27c6fe1de4a903a0c09b05f68d7b452288c3c10f8115530ad529ec2a085
data/lib/moov/accounts.rb CHANGED
@@ -457,7 +457,7 @@ module Moov
457
457
  #
458
458
  # If you need to update information in a locked state, please contact Moov support.
459
459
  #
460
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
460
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
461
461
  # to specify the `/accounts/{accountID}/profile.write` scope.
462
462
  request = Models::Operations::UpdateAccountRequest.new(
463
463
  account_id: account_id,
@@ -193,12 +193,12 @@ module Moov
193
193
 
194
194
  sig { params(update_apple_pay_merchant_domains: Models::Components::UpdateApplePayMerchantDomains, account_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateApplePayMerchantDomainsResponse) }
195
195
  def update_merchant_domains(update_apple_pay_merchant_domains:, account_id:, x_moov_version: nil, timeout_ms: nil)
196
- # update_merchant_domains - Add or remove domains to be registered with Apple Pay.
196
+ # update_merchant_domains - Add or remove domains to be registered with Apple Pay.
197
197
  #
198
- # Any domains that will be used to accept payments must first be [verified](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains)
198
+ # Any domains that will be used to accept payments must first be [verified](https://docs.moov.io/guides/sources/cards/apple-pay/#register-your-domains)
199
199
  # with Apple.
200
200
  #
201
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
201
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
202
202
  # you'll need to specify the `/accounts/{accountID}/apple-pay.write` scope.
203
203
  request = Models::Operations::UpdateApplePayMerchantDomainsRequest.new(
204
204
  account_id: account_id,
data/lib/moov/branding.rb CHANGED
@@ -492,7 +492,7 @@ module Moov
492
492
  def update(update_brand:, account_id:, x_moov_version: nil, timeout_ms: nil)
493
493
  # update - Updates the brand properties for the specified account.
494
494
  #
495
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
495
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
496
496
  # you'll need to specify the `/accounts/{accountID}/branding.write` scope.
497
497
  request = Models::Operations::UpdateBrandRequest.new(
498
498
  account_id: account_id,
@@ -448,7 +448,7 @@ module Moov
448
448
  def update(update_issued_card:, account_id:, issued_card_id:, x_moov_version: nil, timeout_ms: nil)
449
449
  # update - Update a Moov issued card.
450
450
  #
451
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
451
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
452
452
  # you'll need to specify the `/accounts/{accountID}/issued-cards.write` scope.
453
453
  request = Models::Operations::UpdateIssuedCardRequest.new(
454
454
  account_id: account_id,
data/lib/moov/cards.rb CHANGED
@@ -467,18 +467,18 @@ module Moov
467
467
 
468
468
  sig { params(update_card: Models::Components::UpdateCard, account_id: ::String, card_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateCardResponse) }
469
469
  def update(update_card:, account_id:, card_id:, x_moov_version: nil, timeout_ms: nil)
470
- # update - Update a linked card and/or resubmit it for verification.
470
+ # update - Update a linked card and/or resubmit it for verification.
471
471
  #
472
- # If a value is provided for CVV, a new verification ($0 authorization) will be submitted for the card. Updating the expiration
473
- # date or
472
+ # If a value is provided for CVV, a new verification ($0 authorization) will be submitted for the card. Updating the expiration
473
+ # date or
474
474
  # address will update the information stored on file for the card but will not be verified.
475
475
  #
476
- # Read our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/#reverify-a-card) to learn
476
+ # Read our [accept card payments guide](https://docs.moov.io/guides/sources/cards/accept-card-payments/#reverify-a-card) to learn
477
477
  # more.
478
478
  #
479
- # Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
479
+ # Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
480
480
  #
481
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
481
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
482
482
  # you'll need to specify the `/accounts/{accountID}/cards.write` scope.
483
483
  request = Models::Operations::UpdateCardRequest.new(
484
484
  account_id: account_id,
data/lib/moov/images.rb CHANGED
@@ -442,17 +442,16 @@ module Moov
442
442
  end
443
443
 
444
444
 
445
- sig { params(image_update_request_multi_part: Models::Components::ImageUpdateRequestMultiPart, account_id: ::String, image_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateImageResponse) }
446
- def update(image_update_request_multi_part:, account_id:, image_id:, x_moov_version: nil, timeout_ms: nil)
445
+ sig { params(image_upload_request_multi_part: Models::Components::ImageUploadRequestMultiPart, account_id: ::String, image_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::UpdateImageResponse) }
446
+ def update(image_upload_request_multi_part:, account_id:, image_id:, x_moov_version: nil, timeout_ms: nil)
447
447
  # update - Replace an existing image and, optionally, its metadata.
448
448
  #
449
449
  # This endpoint replaces the existing image with the new PNG, JPEG, or WebP. Omit
450
- # the metadata form section to keep existing metadata, or send `null` to clear it.
451
- # Duplicate images, and requests larger than 16MB will be rejected.
450
+ # the metadata form section to keep existing metadata. Duplicate images, and requests larger than 16MB will be rejected.
452
451
  request = Models::Operations::UpdateImageRequest.new(
453
452
  account_id: account_id,
454
453
  image_id: image_id,
455
- image_update_request_multi_part: image_update_request_multi_part,
454
+ image_upload_request_multi_part: image_upload_request_multi_part,
456
455
  x_moov_version: x_moov_version
457
456
  )
458
457
  url, params = @sdk_configuration.get_server_details
@@ -466,7 +465,7 @@ module Moov
466
465
  )
467
466
  headers = Utils.get_headers(request, @sdk_configuration.globals)
468
467
  headers = T.cast(headers, T::Hash[String, String])
469
- req_content_type, data, form = Utils.serialize_request_body(request, false, false, :image_update_request_multi_part, :multipart)
468
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :image_upload_request_multi_part, :multipart)
470
469
  headers['content-type'] = req_content_type
471
470
  raise StandardError, 'request body is required' if data.nil? && form.nil?
472
471
 
@@ -15,7 +15,7 @@ module Moov
15
15
 
16
16
  # The file to upload as evidence. Valid types are [jpeg, tiff, pdf] with a limit of 4MB per file.
17
17
  #
18
- # The `Content-Type` header for this form part must be one of the following:
18
+ # The `Content-Type` header for this form part must be one of the following:
19
19
  # - `image/jpeg`
20
20
  # - `image/tiff`
21
21
  # - `application/pdf`
@@ -14,7 +14,6 @@ module Moov
14
14
  # `maxUses` will automatically be set to 1, as these are intended for a one-time disbursement
15
15
  # to a specific recipient.
16
16
  #
17
- # **Note:** The `payout` option is currently under development and is not yet available for general use.
18
17
  class CreatePaymentLink
19
18
  extend T::Sig
20
19
  include Crystalline::MetadataFields
@@ -41,9 +40,9 @@ module Moov
41
40
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
42
41
  # An optional collection of line items for a payment link.
43
42
  # When line items are provided, their total plus sales tax must equal the payment link amount.
44
- field :line_items, Crystalline::Nilable.new(Models::Components::PaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
43
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
45
44
 
46
- sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems)).void }
45
+ sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems)).void }
47
46
  def initialize(partner_account_id:, merchant_payment_method_id:, amount:, display:, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil)
48
47
  @partner_account_id = partner_account_id
49
48
  @merchant_payment_method_id = merchant_payment_method_id
@@ -0,0 +1,53 @@
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
+ # Represents a single line item in a payment link, including optional modifiers and quantity.
12
+ class CreatePaymentLinkLineItem
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the item.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The base price of the item before applying option modifiers.
19
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
20
+ # The quantity of this item.
21
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
+ # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
+ field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreatePaymentLinkLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional list of images associated with this line item.
25
+ field :image_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
26
+ # Optional unique identifier associating the line item with a product.
27
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
28
+
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::CreatePaymentLinkLineItemOption]), image_i_ds: T.nilable(T::Array[::String]), product_id: T.nilable(::String)).void }
30
+ def initialize(name:, base_price:, quantity:, options: nil, image_i_ds: nil, product_id: nil)
31
+ @name = name
32
+ @base_price = base_price
33
+ @quantity = quantity
34
+ @options = options
35
+ @image_i_ds = image_i_ds
36
+ @product_id = product_id
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @name == other.name
43
+ return false unless @base_price == other.base_price
44
+ return false unless @quantity == other.quantity
45
+ return false unless @options == other.options
46
+ return false unless @image_i_ds == other.image_i_ds
47
+ return false unless @product_id == other.product_id
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkLineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkLineItem
11
+ def name(); end
12
+ def name=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def quantity(); end
16
+ def quantity=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def image_i_ds(); end
20
+ def image_i_ds=(str_); end
21
+ def product_id(); end
22
+ def product_id=(str_); end
23
+ end
@@ -0,0 +1,49 @@
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
+ # Represents a modifier or option applied to a line item.
12
+ class CreatePaymentLinkLineItemOption
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the option or modifier.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The quantity of this option.
19
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
20
+ # Optional price modification applied by this option. Can be positive, negative, or zero.
21
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+ # Optional list of images associated with this line item option.
23
+ field :image_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
24
+ # Optional group identifier to categorize related options (e.g., 'toppings').
25
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
26
+
27
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), image_i_ds: T.nilable(T::Array[::String]), group: T.nilable(::String)).void }
28
+ def initialize(name:, quantity:, price_modifier: nil, image_i_ds: nil, group: nil)
29
+ @name = name
30
+ @quantity = quantity
31
+ @price_modifier = price_modifier
32
+ @image_i_ds = image_i_ds
33
+ @group = group
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @name == other.name
40
+ return false unless @quantity == other.quantity
41
+ return false unless @price_modifier == other.price_modifier
42
+ return false unless @image_i_ds == other.image_i_ds
43
+ return false unless @group == other.group
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemOption
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemOption
11
+ def name(); end
12
+ def name=(str_); end
13
+ def quantity(); end
14
+ def quantity=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def image_i_ds(); end
18
+ def image_i_ds=(str_); end
19
+ def group(); end
20
+ def group=(str_); end
21
+ end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class PaymentLinkLineItemOptionValidationError
12
+ class CreatePaymentLinkLineItemOptionValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemOptionValidationError
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemOptionValidationError
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemOptionValidationError
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemOptionValidationError
11
11
  def name(); end
12
12
  def name=(str_); end
13
13
  def group(); end
@@ -0,0 +1,34 @@
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
+ # An optional collection of line items for a payment link.
12
+ # When line items are provided, their total plus sales tax must equal the payment link amount.
13
+ class CreatePaymentLinkLineItems
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The list of line items.
18
+ field :items, Crystalline::Array.new(Models::Components::CreatePaymentLinkLineItem), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
19
+
20
+ sig { params(items: T::Array[Models::Components::CreatePaymentLinkLineItem]).void }
21
+ def initialize(items:)
22
+ @items = items
23
+ end
24
+
25
+ sig { params(other: T.untyped).returns(T::Boolean) }
26
+ def ==(other)
27
+ return false unless other.is_a? self.class
28
+ return false unless @items == other.items
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemsUpdate
5
+ class Moov::Models::Components::CreatePaymentLinkLineItems
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemsUpdate
10
+ class Moov::Models::Components::CreatePaymentLinkLineItems
11
11
  def items(); end
12
12
  def items=(str_); end
13
13
  end
@@ -10,14 +10,14 @@ module Moov
10
10
 
11
11
  # An optional collection of line items for a payment link.
12
12
  # When line items are provided, their total plus sales tax must equal the payment link amount.
13
- class PaymentLinkLineItemsUpdate
13
+ class CreatePaymentLinkLineItemsUpdate
14
14
  extend T::Sig
15
15
  include Crystalline::MetadataFields
16
16
 
17
17
  # The list of line items.
18
- field :items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItem)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
18
+ field :items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreatePaymentLinkLineItem)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
19
19
 
20
- sig { params(items: T.nilable(T::Array[Models::Components::PaymentLinkLineItem])).void }
20
+ sig { params(items: T.nilable(T::Array[Models::Components::CreatePaymentLinkLineItem])).void }
21
21
  def initialize(items: nil)
22
22
  @items = items
23
23
  end
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemsValidationError
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemsUpdate
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemsValidationError
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemsUpdate
11
11
  def items(); end
12
12
  def items=(str_); end
13
13
  end
@@ -9,14 +9,14 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class PaymentLinkLineItemsValidationError
12
+ class CreatePaymentLinkLineItemsValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::PaymentLinkLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
17
+ field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::CreatePaymentLinkLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
18
18
 
19
- sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::PaymentLinkLineItemValidationError])).void }
19
+ sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::CreatePaymentLinkLineItemValidationError])).void }
20
20
  def initialize(items: nil)
21
21
  @items = items
22
22
  end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemsValidationError
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class PaymentLinkLineItemValidationError
12
+ class CreatePaymentLinkLineItemValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -20,11 +20,11 @@ module Moov
20
20
 
21
21
  field :base_price, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice') } }
22
22
 
23
- field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::PaymentLinkLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
23
+ field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::CreatePaymentLinkLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
24
 
25
25
  field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
26
26
 
27
- sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::PaymentLinkLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
27
+ sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::CreatePaymentLinkLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
28
28
  def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil)
29
29
  @product_id = product_id
30
30
  @name = name
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemValidationError
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemValidationError
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemValidationError
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemValidationError
11
11
  def product_id(); end
12
12
  def product_id=(str_); end
13
13
  def name(); end
@@ -8,14 +8,14 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # Request to upload a file for an account.
11
+
12
12
  class FileUploadRequestMultiPart
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
  # The file to be added. Valid types are `csv`, `png`, `jpeg`, `pdf`.
17
17
  field :file, Models::Components::FileUploadRequestMultiPartFile, { 'multipart_form': { 'file': true, 'field_name': 'file' } }
18
- # The file's purpose.
18
+ # The purpose of the file being uploaded.
19
19
  field :file_purpose, Models::Components::FilePurpose, { 'multipart_form': { 'field_name': 'filePurpose' } }
20
20
  # Additional metadata to be stored with the file, formatted as a JSON string.
21
21
  #
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class ImageUploadRequestMultiPartImage
12
+ class Image
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::ImageUpdateRequestMultiPartImage
5
+ class Moov::Models::Components::Image
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::ImageUpdateRequestMultiPartImage
10
+ class Moov::Models::Components::Image
11
11
  def file_name(); end
12
12
  def file_name=(str_); end
13
13
  def content(); end
@@ -8,17 +8,17 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
- # Multipart request body for uploading an image with optional metadata.
11
+
12
12
  class ImageUploadRequestMultiPart
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
-
17
- field :image, Models::Components::ImageUploadRequestMultiPartImage, { 'multipart_form': { 'file': true, 'field_name': 'image' } }
16
+ # A PNG, JPEG, or WebP image file to upload.
17
+ field :image, Models::Components::Image, { 'multipart_form': { 'file': true, 'field_name': 'image' } }
18
18
  # Optional, json-encoded metadata to associate with the uploaded image.
19
19
  field :metadata, Crystalline::Nilable.new(Models::Components::ImageMetadataRequest), { 'multipart_form': { 'field_name': 'metadata', 'json': true } }
20
20
 
21
- sig { params(image: Models::Components::ImageUploadRequestMultiPartImage, metadata: T.nilable(Models::Components::ImageMetadataRequest)).void }
21
+ sig { params(image: Models::Components::Image, metadata: T.nilable(Models::Components::ImageMetadataRequest)).void }
22
22
  def initialize(image:, metadata: nil)
23
23
  @image = image
24
24
  @metadata = metadata
@@ -16,15 +16,15 @@ module Moov
16
16
 
17
17
  field :status, Crystalline::Nilable.new(Models::Components::Status), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Components::Status, true) } }
18
18
 
19
- field :push_payment_method_id, Crystalline::Nilable.new(Crystalline::Union.new(::String, Models::Components::PushPaymentMethodID)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushPaymentMethodID') } }
19
+ field :push_payment_method_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pushPaymentMethodID') } }
20
20
 
21
- field :pull_payment_method_id, Crystalline::Nilable.new(Crystalline::Union.new(::String, Models::Components::PullPaymentMethodID)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullPaymentMethodID') } }
21
+ field :pull_payment_method_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('pullPaymentMethodID') } }
22
22
 
23
- field :statement_descriptor, Crystalline::Nilable.new(Crystalline::Union.new(::String, Models::Components::StatementDescriptor)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementDescriptor') } }
23
+ field :statement_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementDescriptor') } }
24
24
 
25
25
  field :minimum_balance, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumBalance') } }
26
26
 
27
- sig { params(status: T.nilable(Models::Components::Status), push_payment_method_id: T.nilable(T.any(::String, Models::Components::PushPaymentMethodID)), pull_payment_method_id: T.nilable(T.any(::String, Models::Components::PullPaymentMethodID)), statement_descriptor: T.nilable(T.any(::String, Models::Components::StatementDescriptor)), minimum_balance: T.nilable(::String)).void }
27
+ sig { params(status: T.nilable(Models::Components::Status), push_payment_method_id: T.nilable(::String), pull_payment_method_id: T.nilable(::String), statement_descriptor: T.nilable(::String), minimum_balance: T.nilable(::String)).void }
28
28
  def initialize(status: nil, push_payment_method_id: nil, pull_payment_method_id: nil, statement_descriptor: nil, minimum_balance: nil)
29
29
  @status = status
30
30
  @push_payment_method_id = push_payment_method_id
@@ -21,15 +21,18 @@ module Moov
21
21
  field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
22
  # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
23
  field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional list of images associated with this line item.
25
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItemImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
24
26
  # Optional unique identifier associating the line item with a product.
25
27
  field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
26
28
 
27
- sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::PaymentLinkLineItemOption]), product_id: T.nilable(::String)).void }
28
- def initialize(name:, base_price:, quantity:, options: nil, product_id: nil)
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::PaymentLinkLineItemOption]), images: T.nilable(T::Array[Models::Components::PaymentLinkLineItemImageMetadata]), product_id: T.nilable(::String)).void }
30
+ def initialize(name:, base_price:, quantity:, options: nil, images: nil, product_id: nil)
29
31
  @name = name
30
32
  @base_price = base_price
31
33
  @quantity = quantity
32
34
  @options = options
35
+ @images = images
33
36
  @product_id = product_id
34
37
  end
35
38
 
@@ -40,6 +43,7 @@ module Moov
40
43
  return false unless @base_price == other.base_price
41
44
  return false unless @quantity == other.quantity
42
45
  return false unless @options == other.options
46
+ return false unless @images == other.images
43
47
  return false unless @product_id == other.product_id
44
48
  true
45
49
  end
@@ -16,6 +16,8 @@ class Moov::Models::Components::PaymentLinkLineItem
16
16
  def quantity=(str_); end
17
17
  def options(); end
18
18
  def options=(str_); end
19
+ def images(); end
20
+ def images=(str_); end
19
21
  def product_id(); end
20
22
  def product_id=(str_); end
21
23
  end