moov_ruby 0.3.4 → 0.3.6

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/fee_plans.rb +120 -1
  4. data/lib/moov/invoices.rb +792 -0
  5. data/lib/moov/models/components/amountdecimalupdate.rb +39 -0
  6. data/lib/moov/models/components/amountdecimalupdate.rbi +15 -0
  7. data/lib/moov/models/components/createinvoice.rb +53 -0
  8. data/lib/moov/models/components/createinvoice.rbi +23 -0
  9. data/lib/moov/models/components/instantbankcreditpaymentmethod.rb +41 -0
  10. data/lib/moov/models/components/instantbankcreditpaymentmethod.rbi +17 -0
  11. data/lib/moov/models/components/instantbankcreditpaymentmethod_paymentmethodtype.rb +21 -0
  12. data/lib/moov/models/components/instantbankcreditpaymentmethod_paymentmethodtype.rbi +11 -0
  13. data/lib/moov/models/components/invoice.rb +117 -0
  14. data/lib/moov/models/components/invoice.rbi +55 -0
  15. data/lib/moov/models/components/invoiceexternalpayment.rb +49 -0
  16. data/lib/moov/models/components/invoiceexternalpayment.rbi +21 -0
  17. data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rb +21 -0
  18. data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rbi +11 -0
  19. data/lib/moov/models/components/invoicelineitem.rb +49 -0
  20. data/lib/moov/models/components/invoicelineitem.rbi +21 -0
  21. data/lib/moov/models/components/invoicelineitemoption.rb +45 -0
  22. data/lib/moov/models/components/invoicelineitemoption.rbi +19 -0
  23. data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rb +45 -0
  24. data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rbi +19 -0
  25. data/lib/moov/models/components/invoicelineitems.rb +33 -0
  26. data/lib/moov/models/components/invoicelineitems.rbi +13 -0
  27. data/lib/moov/models/components/invoicelineitemsupdate.rb +33 -0
  28. data/lib/moov/models/components/invoicelineitemsupdate.rbi +13 -0
  29. data/lib/moov/models/components/invoicelineitemsvalidationerror.rb +33 -0
  30. data/lib/moov/models/components/invoicelineitemsvalidationerror.rbi +13 -0
  31. data/lib/moov/models/components/invoicelineitemvalidationerror.rb +49 -0
  32. data/lib/moov/models/components/invoicelineitemvalidationerror.rbi +21 -0
  33. data/lib/moov/models/components/invoicepayment.rb +28 -0
  34. data/lib/moov/models/components/invoicepayment.rbi +11 -0
  35. data/lib/moov/models/components/invoicestatus.rb +26 -0
  36. data/lib/moov/models/components/invoicestatus.rbi +11 -0
  37. data/lib/moov/models/components/invoicetransferpayment.rb +37 -0
  38. data/lib/moov/models/components/invoicetransferpayment.rbi +15 -0
  39. data/lib/moov/models/components/invoicetransferpayment_paymenttype.rb +21 -0
  40. data/lib/moov/models/components/invoicetransferpayment_paymenttype.rbi +11 -0
  41. data/lib/moov/models/components/markinvoicepaid.rb +41 -0
  42. data/lib/moov/models/components/markinvoicepaid.rbi +17 -0
  43. data/lib/moov/models/components/paymentmethodtype.rb +1 -0
  44. data/lib/moov/models/components/transferoptions.rb +3 -3
  45. data/lib/moov/models/components/updateinvoice.rb +53 -0
  46. data/lib/moov/models/components/updateinvoice.rbi +23 -0
  47. data/lib/moov/models/components/webhookdatainvoicecreated.rb +37 -0
  48. data/lib/moov/models/components/webhookdatainvoicecreated.rbi +15 -0
  49. data/lib/moov/models/components/webhookdatainvoiceupdated.rb +41 -0
  50. data/lib/moov/models/components/webhookdatainvoiceupdated.rbi +17 -0
  51. data/lib/moov/models/components/webhookevent.rb +2 -2
  52. data/lib/moov/models/components/webhookeventtype.rb +2 -0
  53. data/lib/moov/models/components.rb +22 -0
  54. data/lib/moov/models/errors/createinvoiceerror.rb +57 -0
  55. data/lib/moov/models/errors/createinvoiceerror.rbi +25 -0
  56. data/lib/moov/models/errors/listinvoicesvalidationerror.rb +49 -0
  57. data/lib/moov/models/errors/listinvoicesvalidationerror.rbi +21 -0
  58. data/lib/moov/models/errors/markinvoicepaiderror.rb +45 -0
  59. data/lib/moov/models/errors/markinvoicepaiderror.rbi +19 -0
  60. data/lib/moov/models/errors/updateinvoiceerror.rb +57 -0
  61. data/lib/moov/models/errors/updateinvoiceerror.rbi +25 -0
  62. data/lib/moov/models/errors.rb +4 -0
  63. data/lib/moov/models/operations/createinvoice_request.rb +50 -0
  64. data/lib/moov/models/operations/createinvoice_request.rbi +17 -0
  65. data/lib/moov/models/operations/createinvoice_response.rb +49 -0
  66. data/lib/moov/models/operations/createinvoice_response.rbi +21 -0
  67. data/lib/moov/models/operations/getinvoice_request.rb +50 -0
  68. data/lib/moov/models/operations/getinvoice_request.rbi +17 -0
  69. data/lib/moov/models/operations/getinvoice_response.rb +49 -0
  70. data/lib/moov/models/operations/getinvoice_response.rbi +21 -0
  71. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  72. data/lib/moov/models/operations/listfeerevenue_request.rb +62 -0
  73. data/lib/moov/models/operations/listfeerevenue_request.rbi +23 -0
  74. data/lib/moov/models/operations/listfeerevenue_response.rb +49 -0
  75. data/lib/moov/models/operations/listfeerevenue_response.rbi +21 -0
  76. data/lib/moov/models/operations/listinvoices_request.rb +62 -0
  77. data/lib/moov/models/operations/listinvoices_request.rbi +23 -0
  78. data/lib/moov/models/operations/listinvoices_response.rb +49 -0
  79. data/lib/moov/models/operations/listinvoices_response.rbi +21 -0
  80. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  81. data/lib/moov/models/operations/markpaidinvoice_request.rb +54 -0
  82. data/lib/moov/models/operations/markpaidinvoice_request.rbi +19 -0
  83. data/lib/moov/models/operations/markpaidinvoice_response.rb +49 -0
  84. data/lib/moov/models/operations/markpaidinvoice_response.rbi +21 -0
  85. data/lib/moov/models/operations/updateinvoice_request.rb +54 -0
  86. data/lib/moov/models/operations/updateinvoice_request.rbi +19 -0
  87. data/lib/moov/models/operations/updateinvoice_response.rb +49 -0
  88. data/lib/moov/models/operations/updateinvoice_response.rbi +21 -0
  89. data/lib/moov/models/operations.rb +12 -0
  90. data/lib/moov/payment_methods.rb +2 -2
  91. data/lib/moov/sdkconfiguration.rb +2 -2
  92. data/lib/moov_ruby.rb +1 -0
  93. metadata +79 -2
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::CreateInvoiceResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::CreateInvoiceResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def invoice(); end
20
+ def invoice=(str_); end
21
+ end
@@ -0,0 +1,50 @@
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 Operations
10
+
11
+
12
+ class GetInvoiceRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+
19
+ field :invoice_id, ::String, { 'path_param': { 'field_name': 'invoiceID', 'style': 'simple', 'explode': false } }
20
+ # Specify an API version.
21
+ #
22
+ # API versioning follows the format `vYYYY.QQ.BB`, where
23
+ # - `YYYY` is the year
24
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
25
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
26
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
27
+ #
28
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
29
+ # When no version is specified, the API defaults to `v2024.01.00`.
30
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
31
+
32
+ sig { params(account_id: ::String, invoice_id: ::String, x_moov_version: T.nilable(::String)).void }
33
+ def initialize(account_id:, invoice_id:, x_moov_version: nil)
34
+ @account_id = account_id
35
+ @invoice_id = invoice_id
36
+ @x_moov_version = x_moov_version
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 @account_id == other.account_id
43
+ return false unless @invoice_id == other.invoice_id
44
+ return false unless @x_moov_version == other.x_moov_version
45
+ true
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::GetInvoiceRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::GetInvoiceRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def invoice_id(); end
14
+ def invoice_id=(str_); end
15
+ def x_moov_version(); end
16
+ def x_moov_version=(str_); end
17
+ 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 Operations
10
+
11
+
12
+ class GetInvoiceResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+ # The request completed successfully.
25
+ field :invoice, Crystalline::Nilable.new(Models::Components::Invoice)
26
+
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], invoice: T.nilable(Models::Components::Invoice)).void }
28
+ def initialize(content_type:, status_code:, raw_response:, headers:, invoice: nil)
29
+ @content_type = content_type
30
+ @status_code = status_code
31
+ @raw_response = raw_response
32
+ @headers = headers
33
+ @invoice = invoice
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 @content_type == other.content_type
40
+ return false unless @status_code == other.status_code
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @headers == other.headers
43
+ return false unless @invoice == other.invoice
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::Operations::GetInvoiceResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::GetInvoiceResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def invoice(); end
20
+ def invoice=(str_); end
21
+ end
@@ -22,9 +22,9 @@ module Moov
22
22
 
23
23
  field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
24
  # The request completed successfully.
25
- field :payment_method, Crystalline::Nilable.new(Crystalline::Union.new(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod))
25
+ field :payment_method, Crystalline::Nilable.new(Crystalline::Union.new(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod, Models::Components::InstantBankCreditPaymentMethod))
26
26
 
27
- sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], payment_method: T.nilable(T.any(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod))).void }
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], payment_method: T.nilable(T.any(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod, Models::Components::InstantBankCreditPaymentMethod))).void }
28
28
  def initialize(content_type:, status_code:, raw_response:, headers:, payment_method: nil)
29
29
  @content_type = content_type
30
30
  @status_code = status_code
@@ -0,0 +1,62 @@
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 Operations
10
+
11
+
12
+ class ListFeeRevenueRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The Partner's AccountID.
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+ # Specify an API version.
19
+ #
20
+ # API versioning follows the format `vYYYY.QQ.BB`, where
21
+ # - `YYYY` is the year
22
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
23
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
24
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
25
+ #
26
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
27
+ # When no version is specified, the API defaults to `v2024.01.00`.
28
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
29
+
30
+ field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
31
+
32
+ field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
33
+ # Optional date-time to inclusively filter all fees created after this date-time.
34
+ field :start_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'startDateTime', 'style': 'form', 'explode': false } }
35
+ # Optional date-time to exclusively filter all fees created before this date-time.
36
+ field :end_date_time, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'endDateTime', 'style': 'form', 'explode': false } }
37
+
38
+ sig { params(account_id: ::String, x_moov_version: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer), start_date_time: T.nilable(::String), end_date_time: T.nilable(::String)).void }
39
+ def initialize(account_id:, x_moov_version: nil, skip: nil, count: nil, start_date_time: nil, end_date_time: nil)
40
+ @account_id = account_id
41
+ @x_moov_version = x_moov_version
42
+ @skip = skip
43
+ @count = count
44
+ @start_date_time = start_date_time
45
+ @end_date_time = end_date_time
46
+ end
47
+
48
+ sig { params(other: T.untyped).returns(T::Boolean) }
49
+ def ==(other)
50
+ return false unless other.is_a? self.class
51
+ return false unless @account_id == other.account_id
52
+ return false unless @x_moov_version == other.x_moov_version
53
+ return false unless @skip == other.skip
54
+ return false unless @count == other.count
55
+ return false unless @start_date_time == other.start_date_time
56
+ return false unless @end_date_time == other.end_date_time
57
+ true
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::ListFeeRevenueRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ListFeeRevenueRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def x_moov_version(); end
14
+ def x_moov_version=(str_); end
15
+ def skip(); end
16
+ def skip=(str_); end
17
+ def count(); end
18
+ def count=(str_); end
19
+ def start_date_time(); end
20
+ def start_date_time=(str_); end
21
+ def end_date_time(); end
22
+ def end_date_time=(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 Operations
10
+
11
+
12
+ class ListFeeRevenueResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+ # The request completed successfully.
25
+ field :incurred_fees, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IncurredFee))
26
+
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], incurred_fees: T.nilable(T::Array[Models::Components::IncurredFee])).void }
28
+ def initialize(content_type:, status_code:, raw_response:, headers:, incurred_fees: nil)
29
+ @content_type = content_type
30
+ @status_code = status_code
31
+ @raw_response = raw_response
32
+ @headers = headers
33
+ @incurred_fees = incurred_fees
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 @content_type == other.content_type
40
+ return false unless @status_code == other.status_code
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @headers == other.headers
43
+ return false unless @incurred_fees == other.incurred_fees
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::Operations::ListFeeRevenueResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ListFeeRevenueResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def incurred_fees(); end
20
+ def incurred_fees=(str_); end
21
+ end
@@ -0,0 +1,62 @@
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 Operations
10
+
11
+
12
+ class ListInvoicesRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+ # Specify an API version.
19
+ #
20
+ # API versioning follows the format `vYYYY.QQ.BB`, where
21
+ # - `YYYY` is the year
22
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
23
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
24
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
25
+ #
26
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
27
+ # When no version is specified, the API defaults to `v2024.01.00`.
28
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
29
+
30
+ field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
31
+
32
+ field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
33
+
34
+ field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': false } }
35
+
36
+ field :customer_account_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'customerAccountID', 'style': 'form', 'explode': false } }
37
+
38
+ sig { params(account_id: ::String, x_moov_version: T.nilable(::String), skip: T.nilable(::Integer), count: T.nilable(::Integer), status: T.nilable(Models::Components::InvoiceStatus), customer_account_id: T.nilable(::String)).void }
39
+ def initialize(account_id:, x_moov_version: nil, skip: nil, count: nil, status: nil, customer_account_id: nil)
40
+ @account_id = account_id
41
+ @x_moov_version = x_moov_version
42
+ @skip = skip
43
+ @count = count
44
+ @status = status
45
+ @customer_account_id = customer_account_id
46
+ end
47
+
48
+ sig { params(other: T.untyped).returns(T::Boolean) }
49
+ def ==(other)
50
+ return false unless other.is_a? self.class
51
+ return false unless @account_id == other.account_id
52
+ return false unless @x_moov_version == other.x_moov_version
53
+ return false unless @skip == other.skip
54
+ return false unless @count == other.count
55
+ return false unless @status == other.status
56
+ return false unless @customer_account_id == other.customer_account_id
57
+ true
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::ListInvoicesRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ListInvoicesRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def x_moov_version(); end
14
+ def x_moov_version=(str_); end
15
+ def skip(); end
16
+ def skip=(str_); end
17
+ def count(); end
18
+ def count=(str_); end
19
+ def status(); end
20
+ def status=(str_); end
21
+ def customer_account_id(); end
22
+ def customer_account_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 Operations
10
+
11
+
12
+ class ListInvoicesResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+ # The request completed successfully.
25
+ field :invoices, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Invoice))
26
+
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], invoices: T.nilable(T::Array[Models::Components::Invoice])).void }
28
+ def initialize(content_type:, status_code:, raw_response:, headers:, invoices: nil)
29
+ @content_type = content_type
30
+ @status_code = status_code
31
+ @raw_response = raw_response
32
+ @headers = headers
33
+ @invoices = invoices
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 @content_type == other.content_type
40
+ return false unless @status_code == other.status_code
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @headers == other.headers
43
+ return false unless @invoices == other.invoices
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::Operations::ListInvoicesResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ListInvoicesResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def invoices(); end
20
+ def invoices=(str_); end
21
+ end
@@ -22,9 +22,9 @@ module Moov
22
22
 
23
23
  field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
24
  # The request completed successfully.
25
- field :payment_methods, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod)))
25
+ field :payment_methods, Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Union.new(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod, Models::Components::InstantBankCreditPaymentMethod)))
26
26
 
27
- sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], payment_methods: T.nilable(T::Array[T.any(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod)])).void }
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], payment_methods: T.nilable(T::Array[T.any(Models::Components::MoovWalletPaymentMethod, Models::Components::AchDebitFundPaymentMethod, Models::Components::AchDebitCollectPaymentMethod, Models::Components::AchCreditStandardPaymentMethod, Models::Components::AchCreditSameDayPaymentMethod, Models::Components::RtpCreditPaymentMethod, Models::Components::CardPaymentPaymentMethod, Models::Components::PushToCardPaymentMethod, Models::Components::PullFromCardPaymentMethod, Models::Components::ApplePayPaymentMethod, Models::Components::CardPresentPaymentPaymentMethod, Models::Components::InstantBankCreditPaymentMethod)])).void }
28
28
  def initialize(content_type:, status_code:, raw_response:, headers:, payment_methods: nil)
29
29
  @content_type = content_type
30
30
  @status_code = status_code
@@ -0,0 +1,54 @@
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 Operations
10
+
11
+
12
+ class MarkPaidInvoiceRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+
19
+ field :invoice_id, ::String, { 'path_param': { 'field_name': 'invoiceID', 'style': 'simple', 'explode': false } }
20
+
21
+ field :mark_invoice_paid, Models::Components::MarkInvoicePaid, { 'request': { 'media_type': 'application/json' } }
22
+ # Specify an API version.
23
+ #
24
+ # API versioning follows the format `vYYYY.QQ.BB`, where
25
+ # - `YYYY` is the year
26
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
27
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
28
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
29
+ #
30
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
31
+ # When no version is specified, the API defaults to `v2024.01.00`.
32
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
33
+
34
+ sig { params(account_id: ::String, invoice_id: ::String, mark_invoice_paid: Models::Components::MarkInvoicePaid, x_moov_version: T.nilable(::String)).void }
35
+ def initialize(account_id:, invoice_id:, mark_invoice_paid:, x_moov_version: nil)
36
+ @account_id = account_id
37
+ @invoice_id = invoice_id
38
+ @mark_invoice_paid = mark_invoice_paid
39
+ @x_moov_version = x_moov_version
40
+ end
41
+
42
+ sig { params(other: T.untyped).returns(T::Boolean) }
43
+ def ==(other)
44
+ return false unless other.is_a? self.class
45
+ return false unless @account_id == other.account_id
46
+ return false unless @invoice_id == other.invoice_id
47
+ return false unless @mark_invoice_paid == other.mark_invoice_paid
48
+ return false unless @x_moov_version == other.x_moov_version
49
+ true
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::MarkPaidInvoiceRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::MarkPaidInvoiceRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def invoice_id(); end
14
+ def invoice_id=(str_); end
15
+ def mark_invoice_paid(); end
16
+ def mark_invoice_paid=(str_); end
17
+ def x_moov_version(); end
18
+ def x_moov_version=(str_); end
19
+ 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 Operations
10
+
11
+
12
+ class MarkPaidInvoiceResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+ # The request completed successfully.
25
+ field :invoice, Crystalline::Nilable.new(Models::Components::Invoice)
26
+
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], invoice: T.nilable(Models::Components::Invoice)).void }
28
+ def initialize(content_type:, status_code:, raw_response:, headers:, invoice: nil)
29
+ @content_type = content_type
30
+ @status_code = status_code
31
+ @raw_response = raw_response
32
+ @headers = headers
33
+ @invoice = invoice
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 @content_type == other.content_type
40
+ return false unless @status_code == other.status_code
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @headers == other.headers
43
+ return false unless @invoice == other.invoice
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::Operations::MarkPaidInvoiceResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::MarkPaidInvoiceResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def invoice(); end
20
+ def invoice=(str_); end
21
+ end