moov_ruby 0.3.21 → 0.3.23

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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/invoices.rb +288 -0
  4. data/lib/moov/models/components/achtransactiondetails.rb +6 -2
  5. data/lib/moov/models/components/achtransactiondetails.rbi +2 -0
  6. data/lib/moov/models/components/createinvoicepayment.rb +41 -0
  7. data/lib/moov/models/components/createinvoicepayment.rbi +17 -0
  8. data/lib/moov/models/components/createtransferachaddendarecord.rb +33 -0
  9. data/lib/moov/models/components/createtransferachaddendarecord.rbi +13 -0
  10. data/lib/moov/models/components/createtransferdestinationach.rb +6 -2
  11. data/lib/moov/models/components/createtransferdestinationach.rbi +2 -0
  12. data/lib/moov/models/components/createtransfersourceach.rb +6 -2
  13. data/lib/moov/models/components/createtransfersourceach.rbi +2 -0
  14. data/lib/moov/models/components/createwebhook.rb +45 -0
  15. data/lib/moov/models/components/createwebhook.rbi +19 -0
  16. data/lib/moov/models/components/eventtype.rb +41 -0
  17. data/lib/moov/models/components/eventtype.rbi +17 -0
  18. data/lib/moov/models/components/invoiceexternalpayment.rb +2 -6
  19. data/lib/moov/models/components/invoiceexternalpayment.rbi +0 -2
  20. data/lib/moov/models/components/invoicepayment.rb +9 -5
  21. data/lib/moov/models/components/invoicepayment.rbi +4 -2
  22. data/lib/moov/models/components/invoicetransferpayment.rb +2 -6
  23. data/lib/moov/models/components/invoicetransferpayment.rbi +0 -2
  24. data/lib/moov/models/components/pingresponse.rb +41 -0
  25. data/lib/moov/models/components/pingresponse.rbi +17 -0
  26. data/lib/moov/models/components/transferachaddendarecord.rb +37 -0
  27. data/lib/moov/models/components/transferachaddendarecord.rbi +15 -0
  28. data/lib/moov/models/components/updatewebhook.rb +45 -0
  29. data/lib/moov/models/components/updatewebhook.rbi +19 -0
  30. data/lib/moov/models/components/webhook.rb +61 -0
  31. data/lib/moov/models/components/webhook.rbi +27 -0
  32. data/lib/moov/models/components/webhooksecret.rb +33 -0
  33. data/lib/moov/models/components/webhooksecret.rbi +13 -0
  34. data/lib/moov/models/components/{invoiceexternalpayment_paymenttype.rb → webhookstatus.rb} +4 -3
  35. data/lib/moov/models/components/webhookstatus.rbi +11 -0
  36. data/lib/moov/models/components.rb +10 -2
  37. data/lib/moov/models/errors/createinvoicepaymenterror.rb +45 -0
  38. data/lib/moov/models/errors/createinvoicepaymenterror.rbi +19 -0
  39. data/lib/moov/models/errors/createwebhookvalidationerror.rb +49 -0
  40. data/lib/moov/models/errors/createwebhookvalidationerror.rbi +21 -0
  41. data/lib/moov/models/errors/updatewebhookvalidationerror.rb +49 -0
  42. data/lib/moov/models/errors/updatewebhookvalidationerror.rbi +21 -0
  43. data/lib/moov/models/errors.rb +3 -0
  44. data/lib/moov/models/operations/createinvoicepayment_request.rb +54 -0
  45. data/lib/moov/models/operations/createinvoicepayment_request.rbi +19 -0
  46. data/lib/moov/models/operations/createinvoicepayment_response.rb +49 -0
  47. data/lib/moov/models/operations/createinvoicepayment_response.rbi +21 -0
  48. data/lib/moov/models/operations/createwebhook_request.rb +46 -0
  49. data/lib/moov/models/operations/createwebhook_request.rbi +15 -0
  50. data/lib/moov/models/operations/createwebhook_response.rb +49 -0
  51. data/lib/moov/models/operations/createwebhook_response.rbi +21 -0
  52. data/lib/moov/models/operations/disablewebhook_request.rb +46 -0
  53. data/lib/moov/models/operations/disablewebhook_request.rbi +15 -0
  54. data/lib/moov/models/operations/disablewebhook_response.rb +45 -0
  55. data/lib/moov/models/operations/disablewebhook_response.rbi +19 -0
  56. data/lib/moov/models/operations/getwebhook_request.rb +46 -0
  57. data/lib/moov/models/operations/getwebhook_request.rbi +15 -0
  58. data/lib/moov/models/operations/getwebhook_response.rb +49 -0
  59. data/lib/moov/models/operations/getwebhook_response.rbi +21 -0
  60. data/lib/moov/models/operations/getwebhooksecret_request.rb +46 -0
  61. data/lib/moov/models/operations/getwebhooksecret_request.rbi +15 -0
  62. data/lib/moov/models/operations/getwebhooksecret_response.rb +49 -0
  63. data/lib/moov/models/operations/getwebhooksecret_response.rbi +21 -0
  64. data/lib/moov/models/operations/listeventtypes_request.rb +42 -0
  65. data/lib/moov/models/operations/listeventtypes_request.rbi +13 -0
  66. data/lib/moov/models/operations/listeventtypes_response.rb +49 -0
  67. data/lib/moov/models/operations/listeventtypes_response.rbi +21 -0
  68. data/lib/moov/models/operations/listinvoicepayments_request.rb +50 -0
  69. data/lib/moov/models/operations/listinvoicepayments_request.rbi +17 -0
  70. data/lib/moov/models/operations/listinvoicepayments_response.rb +49 -0
  71. data/lib/moov/models/operations/listinvoicepayments_response.rbi +21 -0
  72. data/lib/moov/models/operations/listwebhooks_request.rb +42 -0
  73. data/lib/moov/models/operations/listwebhooks_request.rbi +13 -0
  74. data/lib/moov/models/operations/listwebhooks_response.rb +49 -0
  75. data/lib/moov/models/operations/listwebhooks_response.rbi +21 -0
  76. data/lib/moov/models/operations/pingwebhook_request.rb +46 -0
  77. data/lib/moov/models/operations/pingwebhook_request.rbi +15 -0
  78. data/lib/moov/models/operations/pingwebhook_response.rb +49 -0
  79. data/lib/moov/models/operations/pingwebhook_response.rbi +21 -0
  80. data/lib/moov/models/operations/updatewebhook_request.rb +50 -0
  81. data/lib/moov/models/operations/updatewebhook_request.rbi +17 -0
  82. data/lib/moov/models/operations/updatewebhook_response.rb +49 -0
  83. data/lib/moov/models/operations/updatewebhook_response.rbi +21 -0
  84. data/lib/moov/models/operations.rb +20 -0
  85. data/lib/moov/sdkconfiguration.rb +2 -2
  86. data/lib/moov/webhooks.rb +1056 -0
  87. data/lib/moov_ruby.rb +1 -0
  88. metadata +69 -6
  89. data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rbi +0 -11
  90. data/lib/moov/models/components/invoicetransferpayment_paymenttype.rb +0 -21
  91. data/lib/moov/models/components/invoicetransferpayment_paymenttype.rbi +0 -11
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::EventType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::EventType
11
+ def event_type_id(); end
12
+ def event_type_id=(str_); end
13
+ def type(); end
14
+ def type=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
+ end
@@ -14,8 +14,6 @@ module Moov
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :payment_type, Models::Components::InvoiceExternalPaymentPaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoiceExternalPaymentPaymentType, false) } }
18
-
19
17
  field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
20
18
 
21
19
  field :amount, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount'), required: true } }
@@ -24,9 +22,8 @@ module Moov
24
22
 
25
23
  field :payment_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
26
24
 
27
- sig { params(payment_type: Models::Components::InvoiceExternalPaymentPaymentType, description: ::String, amount: Models::Components::AmountDecimal, foreign_id: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
28
- def initialize(payment_type:, description:, amount:, foreign_id: nil, payment_date: nil)
29
- @payment_type = payment_type
25
+ sig { params(description: ::String, amount: Models::Components::AmountDecimal, foreign_id: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
26
+ def initialize(description:, amount:, foreign_id: nil, payment_date: nil)
30
27
  @description = description
31
28
  @amount = amount
32
29
  @foreign_id = foreign_id
@@ -36,7 +33,6 @@ module Moov
36
33
  sig { params(other: T.untyped).returns(T::Boolean) }
37
34
  def ==(other)
38
35
  return false unless other.is_a? self.class
39
- return false unless @payment_type == other.payment_type
40
36
  return false unless @description == other.description
41
37
  return false unless @amount == other.amount
42
38
  return false unless @foreign_id == other.foreign_id
@@ -8,8 +8,6 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::InvoiceExternalPayment
11
- def payment_type(); end
12
- def payment_type=(str_); end
13
11
  def description(); end
14
12
  def description=(str_); end
15
13
  def amount(); end
@@ -14,15 +14,18 @@ module Moov
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoicePaymentType, false) } }
17
+ field :invoice_payment_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentID'), required: true } }
18
+
19
+ field :invoice_payment_type, Models::Components::InvoicePaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoicePaymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoicePaymentType, false) } }
18
20
 
19
21
  field :transfer, Crystalline::Nilable.new(Models::Components::InvoiceTransferPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transfer') } }
20
22
 
21
23
  field :external, Crystalline::Nilable.new(Models::Components::InvoiceExternalPayment), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('external') } }
22
24
 
23
- sig { params(payment_type: Models::Components::InvoicePaymentType, transfer: T.nilable(Models::Components::InvoiceTransferPayment), external: T.nilable(Models::Components::InvoiceExternalPayment)).void }
24
- def initialize(payment_type:, transfer: nil, external: nil)
25
- @payment_type = payment_type
25
+ sig { params(invoice_payment_id: ::String, invoice_payment_type: Models::Components::InvoicePaymentType, transfer: T.nilable(Models::Components::InvoiceTransferPayment), external: T.nilable(Models::Components::InvoiceExternalPayment)).void }
26
+ def initialize(invoice_payment_id:, invoice_payment_type:, transfer: nil, external: nil)
27
+ @invoice_payment_id = invoice_payment_id
28
+ @invoice_payment_type = invoice_payment_type
26
29
  @transfer = transfer
27
30
  @external = external
28
31
  end
@@ -30,7 +33,8 @@ module Moov
30
33
  sig { params(other: T.untyped).returns(T::Boolean) }
31
34
  def ==(other)
32
35
  return false unless other.is_a? self.class
33
- return false unless @payment_type == other.payment_type
36
+ return false unless @invoice_payment_id == other.invoice_payment_id
37
+ return false unless @invoice_payment_type == other.invoice_payment_type
34
38
  return false unless @transfer == other.transfer
35
39
  return false unless @external == other.external
36
40
  true
@@ -8,8 +8,10 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::InvoicePayment
11
- def payment_type(); end
12
- def payment_type=(str_); end
11
+ def invoice_payment_id(); end
12
+ def invoice_payment_id=(str_); end
13
+ def invoice_payment_type(); end
14
+ def invoice_payment_type=(str_); end
13
15
  def transfer(); end
14
16
  def transfer=(str_); end
15
17
  def external(); end
@@ -14,20 +14,16 @@ module Moov
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :payment_type, Models::Components::InvoiceTransferPaymentPaymentType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentType'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoiceTransferPaymentPaymentType, false) } }
18
-
19
17
  field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
20
18
 
21
- sig { params(payment_type: Models::Components::InvoiceTransferPaymentPaymentType, transfer_id: ::String).void }
22
- def initialize(payment_type:, transfer_id:)
23
- @payment_type = payment_type
19
+ sig { params(transfer_id: ::String).void }
20
+ def initialize(transfer_id:)
24
21
  @transfer_id = transfer_id
25
22
  end
26
23
 
27
24
  sig { params(other: T.untyped).returns(T::Boolean) }
28
25
  def ==(other)
29
26
  return false unless other.is_a? self.class
30
- return false unless @payment_type == other.payment_type
31
27
  return false unless @transfer_id == other.transfer_id
32
28
  true
33
29
  end
@@ -8,8 +8,6 @@ end
8
8
 
9
9
 
10
10
  class Moov::Models::Components::InvoiceTransferPayment
11
- def payment_type(); end
12
- def payment_type=(str_); end
13
11
  def transfer_id(); end
14
12
  def transfer_id=(str_); end
15
13
  end
@@ -0,0 +1,41 @@
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
+ # Response from pinging a webhook.
12
+ class PingResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The webhook that was pinged.
17
+ field :webhook, Models::Components::Webhook, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('webhook'), required: true } }
18
+ # The request body sent to the target URL. It will contain an event type of `event.test` and an empty (null) data payload.
19
+ field :request_body_sent, Crystalline::Hash.new(Symbol, ::Object), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('requestBodySent'), required: true } }
20
+ # The response status code after sending a ping event to the URL.
21
+ field :response_status_code, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('responseStatusCode'), required: true } }
22
+
23
+ sig { params(webhook: Models::Components::Webhook, request_body_sent: T::Hash[Symbol, ::Object], response_status_code: ::Integer).void }
24
+ def initialize(webhook:, request_body_sent:, response_status_code:)
25
+ @webhook = webhook
26
+ @request_body_sent = request_body_sent
27
+ @response_status_code = response_status_code
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @webhook == other.webhook
34
+ return false unless @request_body_sent == other.request_body_sent
35
+ return false unless @response_status_code == other.response_status_code
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PingResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PingResponse
11
+ def webhook(); end
12
+ def webhook=(str_); end
13
+ def request_body_sent(); end
14
+ def request_body_sent=(str_); end
15
+ def response_status_code(); end
16
+ def response_status_code=(str_); end
17
+ end
@@ -0,0 +1,37 @@
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 addenda record which was added to an ACH transfer
12
+ class TransferACHAddendaRecord
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The ACH addenda record, which may have masked PII
17
+ field :record, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('record'), required: true } }
18
+ # Flag indicating whether or not this record has been masked
19
+ field :is_masked, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isMasked'), required: true } }
20
+
21
+ sig { params(record: ::String, is_masked: T::Boolean).void }
22
+ def initialize(record:, is_masked:)
23
+ @record = record
24
+ @is_masked = is_masked
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @record == other.record
31
+ return false unless @is_masked == other.is_masked
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferACHAddendaRecord
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferACHAddendaRecord
11
+ def record(); end
12
+ def record=(str_); end
13
+ def is_masked(); end
14
+ def is_masked=(str_); end
15
+ end
@@ -0,0 +1,45 @@
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
+ # Request body for updating an existing webhook.
12
+ class UpdateWebhook
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The URL where webhook events will be sent.
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
18
+ # The status of the webhook.
19
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
20
+ # The list of event types this webhook should subscribe to.
21
+ field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
22
+ # A description of the webhook for reference. Can be an empty string.
23
+ field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
24
+
25
+ sig { params(url: ::String, status: Models::Components::WebhookStatus, event_types: T::Array[Models::Components::WebhookEventType], description: ::String).void }
26
+ def initialize(url:, status:, event_types:, description:)
27
+ @url = url
28
+ @status = status
29
+ @event_types = event_types
30
+ @description = description
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @url == other.url
37
+ return false unless @status == other.status
38
+ return false unless @event_types == other.event_types
39
+ return false unless @description == other.description
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::UpdateWebhook
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::UpdateWebhook
11
+ def url(); end
12
+ def url=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ def event_types(); end
16
+ def event_types=(str_); end
17
+ def description(); end
18
+ def description=(str_); end
19
+ end
@@ -0,0 +1,61 @@
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
+ # A configured webhook endpoint that receives event notifications.
12
+ class Webhook
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Unique identifier for the webhook.
17
+ field :webhook_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('webhookID'), required: true } }
18
+ # The URL where webhook events will be sent.
19
+ field :url, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('url'), required: true } }
20
+ # The status of a webhook.
21
+ field :status, Models::Components::WebhookStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookStatus, false) } }
22
+ # The list of event types this webhook is subscribed to.
23
+ field :event_types, Crystalline::Array.new(Models::Components::WebhookEventType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('eventTypes'), required: true } }
24
+ # A description of the webhook for reference.
25
+ field :description, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description'), required: true } }
26
+ # Timestamp of when the webhook was created.
27
+ field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
28
+ # Timestamp of when the webhook was last updated.
29
+ field :updated_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('updatedOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
30
+ # Timestamp of when the webhook last received an event.
31
+ field :last_used_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastUsedOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
32
+
33
+ sig { params(webhook_id: ::String, url: ::String, status: Models::Components::WebhookStatus, event_types: T::Array[Models::Components::WebhookEventType], description: ::String, created_on: ::DateTime, updated_on: ::DateTime, last_used_on: T.nilable(::DateTime)).void }
34
+ def initialize(webhook_id:, url:, status:, event_types:, description:, created_on:, updated_on:, last_used_on: nil)
35
+ @webhook_id = webhook_id
36
+ @url = url
37
+ @status = status
38
+ @event_types = event_types
39
+ @description = description
40
+ @created_on = created_on
41
+ @updated_on = updated_on
42
+ @last_used_on = last_used_on
43
+ end
44
+
45
+ sig { params(other: T.untyped).returns(T::Boolean) }
46
+ def ==(other)
47
+ return false unless other.is_a? self.class
48
+ return false unless @webhook_id == other.webhook_id
49
+ return false unless @url == other.url
50
+ return false unless @status == other.status
51
+ return false unless @event_types == other.event_types
52
+ return false unless @description == other.description
53
+ return false unless @created_on == other.created_on
54
+ return false unless @updated_on == other.updated_on
55
+ return false unless @last_used_on == other.last_used_on
56
+ true
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,27 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::Webhook
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::Webhook
11
+ def webhook_id(); end
12
+ def webhook_id=(str_); end
13
+ def url(); end
14
+ def url=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
17
+ def event_types(); end
18
+ def event_types=(str_); end
19
+ def description(); end
20
+ def description=(str_); end
21
+ def created_on(); end
22
+ def created_on=(str_); end
23
+ def updated_on(); end
24
+ def updated_on=(str_); end
25
+ def last_used_on(); end
26
+ def last_used_on=(str_); end
27
+ end
@@ -0,0 +1,33 @@
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
+ # The secret used to verify webhook payloads.
12
+ class WebhookSecret
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The secret key used to sign webhook payloads. Use this to verify the authenticity of incoming webhooks.
17
+ field :secret, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('secret'), required: true } }
18
+
19
+ sig { params(secret: ::String).void }
20
+ def initialize(secret:)
21
+ @secret = secret
22
+ end
23
+
24
+ sig { params(other: T.untyped).returns(T::Boolean) }
25
+ def ==(other)
26
+ return false unless other.is_a? self.class
27
+ return false unless @secret == other.secret
28
+ true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookSecret
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookSecret
11
+ def secret(); end
12
+ def secret=(str_); end
13
+ end
@@ -8,12 +8,13 @@ module Moov
8
8
  module Models
9
9
  module Components
10
10
 
11
-
12
- class InvoiceExternalPaymentPaymentType < T::Enum
11
+ # WebhookStatus - The status of a webhook.
12
+ class WebhookStatus < T::Enum
13
13
 
14
14
 
15
15
  enums do
16
- EXTERNAL = new('external')
16
+ ENABLED = new('enabled')
17
+ DISABLED = new('disabled')
17
18
  end
18
19
  end
19
20
  end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::WebhookStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::WebhookStatus
11
+ end
@@ -171,6 +171,7 @@ module Moov
171
171
  autoload :CreateInvoiceLineItems, 'moov/models/components/createinvoicelineitems.rb'
172
172
  autoload :CreateInvoiceLineItemsUpdate, 'moov/models/components/createinvoicelineitemsupdate.rb'
173
173
  autoload :CreateInvoiceLineItemsValidationError, 'moov/models/components/createinvoicelineitemsvalidationerror.rb'
174
+ autoload :CreateInvoicePayment, 'moov/models/components/createinvoicepayment.rb'
174
175
  autoload :CreatePaymentLink, 'moov/models/components/createpaymentlink.rb'
175
176
  autoload :CreatePaymentLinkLineItem, 'moov/models/components/createpaymentlinklineitem.rb'
176
177
  autoload :CreatePaymentLinkLineItemOption, 'moov/models/components/createpaymentlinklineitemoption.rb'
@@ -192,6 +193,7 @@ module Moov
192
193
  autoload :CreateTicket, 'moov/models/components/createticket.rb'
193
194
  autoload :CreateTicketContactError, 'moov/models/components/createticketcontacterror.rb'
194
195
  autoload :CreateTransfer, 'moov/models/components/createtransfer.rb'
196
+ autoload :CreateTransferACHAddendaRecord, 'moov/models/components/createtransferachaddendarecord.rb'
195
197
  autoload :CreateTransferDestination, 'moov/models/components/createtransferdestination.rb'
196
198
  autoload :CreateTransferDestinationACH, 'moov/models/components/createtransferdestinationach.rb'
197
199
  autoload :CreateTransferDestinationCard, 'moov/models/components/createtransferdestinationcard.rb'
@@ -206,6 +208,7 @@ module Moov
206
208
  autoload :CreateTransferSourceACH, 'moov/models/components/createtransfersourceach.rb'
207
209
  autoload :CreateTransferSourceCard, 'moov/models/components/createtransfersourcecard.rb'
208
210
  autoload :CreateWallet, 'moov/models/components/createwallet.rb'
211
+ autoload :CreateWebhook, 'moov/models/components/createwebhook.rb'
209
212
  autoload :CreatedTransfer, 'moov/models/components/createdtransfer.rb'
210
213
  autoload :CustomerSupport, 'moov/models/components/customersupport.rb'
211
214
  autoload :CustomerSupportError, 'moov/models/components/customersupporterror.rb'
@@ -232,6 +235,7 @@ module Moov
232
235
  autoload :EntryMode, 'moov/models/components/entrymode.rb'
233
236
  autoload :EstimatedActivity, 'moov/models/components/estimatedactivity.rb'
234
237
  autoload :EstimatedActivityError, 'moov/models/components/estimatedactivityerror.rb'
238
+ autoload :EventType, 'moov/models/components/eventtype.rb'
235
239
  autoload :EvidenceTextResponse, 'moov/models/components/evidencetextresponse.rb'
236
240
  autoload :EvidenceType, 'moov/models/components/evidencetype.rb'
237
241
  autoload :EvidenceUploadResponse, 'moov/models/components/evidenceuploadresponse.rb'
@@ -285,7 +289,6 @@ module Moov
285
289
  autoload :InstitutionsSearchResponse, 'moov/models/components/institutionssearchresponse.rb'
286
290
  autoload :Invoice, 'moov/models/components/invoice.rb'
287
291
  autoload :InvoiceExternalPayment, 'moov/models/components/invoiceexternalpayment.rb'
288
- autoload :InvoiceExternalPaymentPaymentType, 'moov/models/components/invoiceexternalpayment_paymenttype.rb'
289
292
  autoload :InvoiceLineItem, 'moov/models/components/invoicelineitem.rb'
290
293
  autoload :InvoiceLineItemImageMetadata, 'moov/models/components/invoicelineitemimagemetadata.rb'
291
294
  autoload :InvoiceLineItemOption, 'moov/models/components/invoicelineitemoption.rb'
@@ -297,7 +300,6 @@ module Moov
297
300
  autoload :InvoicePaymentType, 'moov/models/components/invoicepaymenttype.rb'
298
301
  autoload :InvoiceStatus, 'moov/models/components/invoicestatus.rb'
299
302
  autoload :InvoiceTransferPayment, 'moov/models/components/invoicetransferpayment.rb'
300
- autoload :InvoiceTransferPaymentPaymentType, 'moov/models/components/invoicetransferpayment_paymenttype.rb'
301
303
  autoload :IssuedCard, 'moov/models/components/issuedcard.rb'
302
304
  autoload :IssuedCardAuthorization, 'moov/models/components/issuedcardauthorization.rb'
303
305
  autoload :IssuedCardAuthorizationEvent, 'moov/models/components/issuedcardauthorizationevent.rb'
@@ -390,6 +392,7 @@ module Moov
390
392
  autoload :PendingLitigation, 'moov/models/components/pendinglitigation.rb'
391
393
  autoload :PhoneNumber, 'moov/models/components/phonenumber.rb'
392
394
  autoload :PhoneNumberError, 'moov/models/components/phonenumbererror.rb'
395
+ autoload :PingResponse, 'moov/models/components/pingresponse.rb'
393
396
  autoload :PlaidIntegration, 'moov/models/components/plaidintegration.rb'
394
397
  autoload :PlaidLinkIntegration, 'moov/models/components/plaidlinkintegration.rb'
395
398
  autoload :PlaidLinkPayload, 'moov/models/components/plaidlinkpayload.rb'
@@ -493,6 +496,7 @@ module Moov
493
496
  autoload :TokenType, 'moov/models/components/tokentype.rb'
494
497
  autoload :TransactionSource, 'moov/models/components/transactionsource.rb'
495
498
  autoload :Transfer, 'moov/models/components/transfer.rb'
499
+ autoload :TransferACHAddendaRecord, 'moov/models/components/transferachaddendarecord.rb'
496
500
  autoload :TransferAccount, 'moov/models/components/transferaccount.rb'
497
501
  autoload :TransferDestination, 'moov/models/components/transferdestination.rb'
498
502
  autoload :TransferFailureReason, 'moov/models/components/transferfailurereason.rb'
@@ -526,6 +530,7 @@ module Moov
526
530
  autoload :UpdateTicketStatus, 'moov/models/components/updateticketstatus.rb'
527
531
  autoload :UpdateUnderwriting, 'moov/models/components/updateunderwriting.rb'
528
532
  autoload :UpdateUnderwritingErrorError, 'moov/models/components/updateunderwritingerror_error.rb'
533
+ autoload :UpdateWebhook, 'moov/models/components/updatewebhook.rb'
529
534
  autoload :UpsertSchedule, 'moov/models/components/upsertschedule.rb'
530
535
  autoload :UpsertUnderwriting, 'moov/models/components/upsertunderwriting.rb'
531
536
  autoload :Verification, 'moov/models/components/verification.rb'
@@ -544,6 +549,7 @@ module Moov
544
549
  autoload :WalletTransactionStatus, 'moov/models/components/wallettransactionstatus.rb'
545
550
  autoload :WalletTransactionType, 'moov/models/components/wallettransactiontype.rb'
546
551
  autoload :WalletType, 'moov/models/components/wallettype.rb'
552
+ autoload :Webhook, 'moov/models/components/webhook.rb'
547
553
  autoload :WebhookBillingStatementCreated, 'moov/models/components/webhookbillingstatementcreated.rb'
548
554
  autoload :WebhookData, 'moov/models/components/webhookdata.rb'
549
555
  autoload :WebhookDataAccountCreated, 'moov/models/components/webhookdataaccountcreated.rb'
@@ -585,6 +591,8 @@ module Moov
585
591
  autoload :WebhookDataWalletUpdated, 'moov/models/components/webhookdatawalletupdated.rb'
586
592
  autoload :WebhookEvent, 'moov/models/components/webhookevent.rb'
587
593
  autoload :WebhookEventType, 'moov/models/components/webhookeventtype.rb'
594
+ autoload :WebhookSecret, 'moov/models/components/webhooksecret.rb'
595
+ autoload :WebhookStatus, 'moov/models/components/webhookstatus.rb'
588
596
  autoload :WebhookTransferPaymentMethodDetails, 'moov/models/components/webhooktransferpaymentmethoddetails.rb'
589
597
  autoload :WireInstitution, 'moov/models/components/wireinstitution.rb'
590
598
  autoload :WireServices, 'moov/models/components/wireservices.rb'
@@ -0,0 +1,45 @@
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 Errors
10
+
11
+
12
+ class CreateInvoicePaymentError < StandardError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
18
+
19
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
+
21
+ field :payment_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate') } }
22
+ # Raw HTTP response; suitable for custom response parsing
23
+ field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
24
+
25
+ sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
26
+ def initialize(foreign_id: nil, description: nil, payment_date: nil, raw_response: nil)
27
+ @foreign_id = foreign_id
28
+ @description = description
29
+ @payment_date = payment_date
30
+ @raw_response = raw_response
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @foreign_id == other.foreign_id
37
+ return false unless @description == other.description
38
+ return false unless @payment_date == other.payment_date
39
+ return false unless @raw_response == other.raw_response
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Errors::CreateInvoicePaymentError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Errors::CreateInvoicePaymentError
11
+ def foreign_id(); end
12
+ def foreign_id=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ def payment_date(); end
16
+ def payment_date=(str_); end
17
+ def raw_response(); end
18
+ def raw_response=(str_); end
19
+ end