moov_ruby 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/moov/client.rb +2 -1
- data/lib/moov/invoices.rb +792 -0
- data/lib/moov/models/components/amountdecimalupdate.rb +39 -0
- data/lib/moov/models/components/amountdecimalupdate.rbi +15 -0
- data/lib/moov/models/components/createinvoice.rb +53 -0
- data/lib/moov/models/components/createinvoice.rbi +23 -0
- data/lib/moov/models/components/createpaymentlink.rb +2 -2
- data/lib/moov/models/components/createpaymentlinklineitem.rb +53 -0
- data/lib/moov/models/components/createpaymentlinklineitem.rbi +23 -0
- data/lib/moov/models/components/createpaymentlinklineitemoption.rb +49 -0
- data/lib/moov/models/components/createpaymentlinklineitemoption.rbi +21 -0
- data/lib/moov/models/components/createpaymentlinklineitemoptionvalidationerror.rb +45 -0
- data/lib/moov/models/components/createpaymentlinklineitemoptionvalidationerror.rbi +19 -0
- data/lib/moov/models/components/createpaymentlinklineitems.rb +34 -0
- data/lib/moov/models/components/{paymentlinklineitemsupdate.rbi → createpaymentlinklineitems.rbi} +2 -2
- data/lib/moov/models/components/{paymentlinklineitemsupdate.rb → createpaymentlinklineitemsupdate.rb} +3 -3
- data/lib/moov/models/components/{paymentlinklineitemsvalidationerror.rbi → createpaymentlinklineitemsupdate.rbi} +2 -2
- data/lib/moov/models/components/createpaymentlinklineitemsvalidationerror.rb +33 -0
- data/lib/moov/models/components/createpaymentlinklineitemsvalidationerror.rbi +13 -0
- data/lib/moov/models/components/createpaymentlinklineitemvalidationerror.rb +49 -0
- data/lib/moov/models/components/createpaymentlinklineitemvalidationerror.rbi +21 -0
- data/lib/moov/models/components/invoice.rb +117 -0
- data/lib/moov/models/components/invoice.rbi +55 -0
- data/lib/moov/models/components/invoiceexternalpayment.rb +49 -0
- data/lib/moov/models/components/invoiceexternalpayment.rbi +21 -0
- data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rb +21 -0
- data/lib/moov/models/components/invoiceexternalpayment_paymenttype.rbi +11 -0
- data/lib/moov/models/components/invoicelineitem.rb +49 -0
- data/lib/moov/models/components/{paymentlinklineitemvalidationerror.rbi → invoicelineitem.rbi} +6 -6
- data/lib/moov/models/components/invoicelineitemoption.rb +45 -0
- data/lib/moov/models/components/{paymentlinklineitemoptionvalidationerror.rbi → invoicelineitemoption.rbi} +6 -6
- data/lib/moov/models/components/{paymentlinklineitemoptionvalidationerror.rb → invoicelineitemoptionvalidationerror.rb} +1 -1
- data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rbi +19 -0
- data/lib/moov/models/components/invoicelineitems.rb +33 -0
- data/lib/moov/models/components/invoicelineitems.rbi +13 -0
- data/lib/moov/models/components/invoicelineitemsupdate.rb +33 -0
- data/lib/moov/models/components/invoicelineitemsupdate.rbi +13 -0
- data/lib/moov/models/components/{paymentlinklineitemsvalidationerror.rb → invoicelineitemsvalidationerror.rb} +3 -3
- data/lib/moov/models/components/invoicelineitemsvalidationerror.rbi +13 -0
- data/lib/moov/models/components/{paymentlinklineitemvalidationerror.rb → invoicelineitemvalidationerror.rb} +3 -3
- data/lib/moov/models/components/invoicelineitemvalidationerror.rbi +21 -0
- data/lib/moov/models/components/invoicepayment.rb +28 -0
- data/lib/moov/models/components/invoicepayment.rbi +11 -0
- data/lib/moov/models/components/invoicestatus.rb +26 -0
- data/lib/moov/models/components/invoicestatus.rbi +11 -0
- data/lib/moov/models/components/invoicetransferpayment.rb +37 -0
- data/lib/moov/models/components/invoicetransferpayment.rbi +15 -0
- data/lib/moov/models/components/invoicetransferpayment_paymenttype.rb +21 -0
- data/lib/moov/models/components/invoicetransferpayment_paymenttype.rbi +11 -0
- data/lib/moov/models/components/markinvoicepaid.rb +41 -0
- data/lib/moov/models/components/markinvoicepaid.rbi +17 -0
- data/lib/moov/models/components/paymentlinklineitem.rb +6 -2
- data/lib/moov/models/components/paymentlinklineitem.rbi +2 -0
- data/lib/moov/models/components/paymentlinklineitemimagemetadata.rb +45 -0
- data/lib/moov/models/components/paymentlinklineitemimagemetadata.rbi +19 -0
- data/lib/moov/models/components/paymentlinklineitemoption.rb +6 -2
- data/lib/moov/models/components/paymentlinklineitemoption.rbi +2 -0
- data/lib/moov/models/components/updateinvoice.rb +53 -0
- data/lib/moov/models/components/updateinvoice.rbi +23 -0
- data/lib/moov/models/components/updatepaymentlink.rb +2 -2
- data/lib/moov/models/components/webhookdatainvoicecreated.rb +37 -0
- data/lib/moov/models/components/webhookdatainvoicecreated.rbi +15 -0
- data/lib/moov/models/components/webhookdatainvoiceupdated.rb +41 -0
- data/lib/moov/models/components/webhookdatainvoiceupdated.rbi +17 -0
- data/lib/moov/models/components/webhookevent.rb +2 -2
- data/lib/moov/models/components/webhookeventtype.rb +2 -0
- data/lib/moov/models/components.rb +28 -4
- data/lib/moov/models/errors/createinvoiceerror.rb +57 -0
- data/lib/moov/models/errors/createinvoiceerror.rbi +25 -0
- data/lib/moov/models/errors/createpaymentlinkerror.rb +2 -2
- data/lib/moov/models/errors/listinvoicesvalidationerror.rb +49 -0
- data/lib/moov/models/errors/listinvoicesvalidationerror.rbi +21 -0
- data/lib/moov/models/errors/markinvoicepaiderror.rb +45 -0
- data/lib/moov/models/errors/markinvoicepaiderror.rbi +19 -0
- data/lib/moov/models/errors/updateinvoiceerror.rb +57 -0
- data/lib/moov/models/errors/updateinvoiceerror.rbi +25 -0
- data/lib/moov/models/errors/updatepaymentlinkerror.rb +2 -2
- data/lib/moov/models/errors.rb +4 -0
- data/lib/moov/models/operations/createinvoice_request.rb +50 -0
- data/lib/moov/models/operations/createinvoice_request.rbi +17 -0
- data/lib/moov/models/operations/createinvoice_response.rb +49 -0
- data/lib/moov/models/operations/createinvoice_response.rbi +21 -0
- data/lib/moov/models/operations/getinvoice_request.rb +50 -0
- data/lib/moov/models/operations/getinvoice_request.rbi +17 -0
- data/lib/moov/models/operations/getinvoice_response.rb +49 -0
- data/lib/moov/models/operations/getinvoice_response.rbi +21 -0
- data/lib/moov/models/operations/listinvoices_request.rb +62 -0
- data/lib/moov/models/operations/listinvoices_request.rbi +23 -0
- data/lib/moov/models/operations/listinvoices_response.rb +49 -0
- data/lib/moov/models/operations/listinvoices_response.rbi +21 -0
- data/lib/moov/models/operations/markpaidinvoice_request.rb +54 -0
- data/lib/moov/models/operations/markpaidinvoice_request.rbi +19 -0
- data/lib/moov/models/operations/markpaidinvoice_response.rb +49 -0
- data/lib/moov/models/operations/markpaidinvoice_response.rbi +21 -0
- data/lib/moov/models/operations/updateinvoice_request.rb +54 -0
- data/lib/moov/models/operations/updateinvoice_request.rbi +19 -0
- data/lib/moov/models/operations/updateinvoice_response.rb +49 -0
- data/lib/moov/models/operations/updateinvoice_response.rbi +21 -0
- data/lib/moov/models/operations.rb +10 -0
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov_ruby.rb +1 -0
- metadata +87 -10
|
@@ -0,0 +1,26 @@
|
|
|
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
|
+
|
|
12
|
+
class InvoiceStatus < T::Enum
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
enums do
|
|
16
|
+
DRAFT = new('draft')
|
|
17
|
+
UNPAID = new('unpaid')
|
|
18
|
+
PAYMENT_PENDING = new('payment-pending')
|
|
19
|
+
PAID = new('paid')
|
|
20
|
+
OVERDUE = new('overdue')
|
|
21
|
+
CANCELED = new('canceled')
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
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
|
+
|
|
12
|
+
class InvoiceTransferPayment
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
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
|
+
field :transfer_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('transferID'), required: true } }
|
|
20
|
+
|
|
21
|
+
sig { params(payment_type: Models::Components::InvoiceTransferPaymentPaymentType, transfer_id: ::String).void }
|
|
22
|
+
def initialize(payment_type:, transfer_id:)
|
|
23
|
+
@payment_type = payment_type
|
|
24
|
+
@transfer_id = transfer_id
|
|
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 @payment_type == other.payment_type
|
|
31
|
+
return false unless @transfer_id == other.transfer_id
|
|
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::InvoiceTransferPayment
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::InvoiceTransferPayment
|
|
11
|
+
def payment_type(); end
|
|
12
|
+
def payment_type=(str_); end
|
|
13
|
+
def transfer_id(); end
|
|
14
|
+
def transfer_id=(str_); end
|
|
15
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
|
|
12
|
+
class InvoiceTransferPaymentPaymentType < T::Enum
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
enums do
|
|
16
|
+
TRANSFER = new('transfer')
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
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
|
+
|
|
12
|
+
class MarkInvoicePaid
|
|
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(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
22
|
+
|
|
23
|
+
sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
|
|
24
|
+
def initialize(foreign_id: nil, description: nil, payment_date: nil)
|
|
25
|
+
@foreign_id = foreign_id
|
|
26
|
+
@description = description
|
|
27
|
+
@payment_date = payment_date
|
|
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 @foreign_id == other.foreign_id
|
|
34
|
+
return false unless @description == other.description
|
|
35
|
+
return false unless @payment_date == other.payment_date
|
|
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::MarkInvoicePaid
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::MarkInvoicePaid
|
|
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
|
+
end
|
|
@@ -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
|
|
@@ -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
|
+
|
|
12
|
+
class PaymentLinkLineItemImageMetadata
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# Unique identifier for a image resource.
|
|
17
|
+
field :image_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageID'), required: true } }
|
|
18
|
+
# The image's public URL.
|
|
19
|
+
field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
|
|
20
|
+
# A unique identifier for an image, used in public image links.
|
|
21
|
+
field :public_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('publicID'), required: true } }
|
|
22
|
+
# Alternative text for the image.
|
|
23
|
+
field :alt_text, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('altText') } }
|
|
24
|
+
|
|
25
|
+
sig { params(image_id: ::String, link: ::String, public_id: ::String, alt_text: T.nilable(::String)).void }
|
|
26
|
+
def initialize(image_id:, link:, public_id:, alt_text: nil)
|
|
27
|
+
@image_id = image_id
|
|
28
|
+
@link = link
|
|
29
|
+
@public_id = public_id
|
|
30
|
+
@alt_text = alt_text
|
|
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 @image_id == other.image_id
|
|
37
|
+
return false unless @link == other.link
|
|
38
|
+
return false unless @public_id == other.public_id
|
|
39
|
+
return false unless @alt_text == other.alt_text
|
|
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::PaymentLinkLineItemImageMetadata
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::PaymentLinkLineItemImageMetadata
|
|
11
|
+
def image_id(); end
|
|
12
|
+
def image_id=(str_); end
|
|
13
|
+
def link(); end
|
|
14
|
+
def link=(str_); end
|
|
15
|
+
def public_id(); end
|
|
16
|
+
def public_id=(str_); end
|
|
17
|
+
def alt_text(); end
|
|
18
|
+
def alt_text=(str_); end
|
|
19
|
+
end
|
|
@@ -19,14 +19,17 @@ module Moov
|
|
|
19
19
|
field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
|
|
20
20
|
# Optional price modification applied by this option. Can be positive, negative, or zero.
|
|
21
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 :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItemImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
|
|
22
24
|
# Optional group identifier to categorize related options (e.g., 'toppings').
|
|
23
25
|
field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
|
|
24
26
|
|
|
25
|
-
sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String)).void }
|
|
26
|
-
def initialize(name:, quantity:, price_modifier: nil, group: nil)
|
|
27
|
+
sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), images: T.nilable(T::Array[Models::Components::PaymentLinkLineItemImageMetadata]), group: T.nilable(::String)).void }
|
|
28
|
+
def initialize(name:, quantity:, price_modifier: nil, images: nil, group: nil)
|
|
27
29
|
@name = name
|
|
28
30
|
@quantity = quantity
|
|
29
31
|
@price_modifier = price_modifier
|
|
32
|
+
@images = images
|
|
30
33
|
@group = group
|
|
31
34
|
end
|
|
32
35
|
|
|
@@ -36,6 +39,7 @@ module Moov
|
|
|
36
39
|
return false unless @name == other.name
|
|
37
40
|
return false unless @quantity == other.quantity
|
|
38
41
|
return false unless @price_modifier == other.price_modifier
|
|
42
|
+
return false unless @images == other.images
|
|
39
43
|
return false unless @group == other.group
|
|
40
44
|
true
|
|
41
45
|
end
|
|
@@ -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
|
+
|
|
12
|
+
class UpdateInvoice
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
18
|
+
# A collection of line items for an invoice.
|
|
19
|
+
field :line_items, Crystalline::Nilable.new(Models::Components::InvoiceLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
20
|
+
# Status can only be updated to `canceled` when the status is either `draft`, `unpaid`, or `overdue`.
|
|
21
|
+
field :status, Crystalline::Nilable.new(Models::Components::InvoiceStatus), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Components::InvoiceStatus, true) } }
|
|
22
|
+
|
|
23
|
+
field :tax_amount, Crystalline::Nilable.new(Models::Components::AmountDecimalUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('taxAmount') } }
|
|
24
|
+
|
|
25
|
+
field :invoice_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
26
|
+
|
|
27
|
+
field :due_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('dueDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
28
|
+
|
|
29
|
+
sig { params(description: T.nilable(::String), line_items: T.nilable(Models::Components::InvoiceLineItemsUpdate), status: T.nilable(Models::Components::InvoiceStatus), tax_amount: T.nilable(Models::Components::AmountDecimalUpdate), invoice_date: T.nilable(::DateTime), due_date: T.nilable(::DateTime)).void }
|
|
30
|
+
def initialize(description: nil, line_items: nil, status: nil, tax_amount: nil, invoice_date: nil, due_date: nil)
|
|
31
|
+
@description = description
|
|
32
|
+
@line_items = line_items
|
|
33
|
+
@status = status
|
|
34
|
+
@tax_amount = tax_amount
|
|
35
|
+
@invoice_date = invoice_date
|
|
36
|
+
@due_date = due_date
|
|
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 @description == other.description
|
|
43
|
+
return false unless @line_items == other.line_items
|
|
44
|
+
return false unless @status == other.status
|
|
45
|
+
return false unless @tax_amount == other.tax_amount
|
|
46
|
+
return false unless @invoice_date == other.invoice_date
|
|
47
|
+
return false unless @due_date == other.due_date
|
|
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::UpdateInvoice
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::UpdateInvoice
|
|
11
|
+
def description(); end
|
|
12
|
+
def description=(str_); end
|
|
13
|
+
def line_items(); end
|
|
14
|
+
def line_items=(str_); end
|
|
15
|
+
def status(); end
|
|
16
|
+
def status=(str_); end
|
|
17
|
+
def tax_amount(); end
|
|
18
|
+
def tax_amount=(str_); end
|
|
19
|
+
def invoice_date(); end
|
|
20
|
+
def invoice_date=(str_); end
|
|
21
|
+
def due_date(); end
|
|
22
|
+
def due_date=(str_); end
|
|
23
|
+
end
|
|
@@ -25,11 +25,11 @@ module Moov
|
|
|
25
25
|
field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
|
|
26
26
|
# An optional collection of line items for a payment link.
|
|
27
27
|
# When line items are provided, their total plus sales tax must equal the payment link amount.
|
|
28
|
-
field :line_items, Crystalline::Nilable.new(Models::Components::
|
|
28
|
+
field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
|
|
29
29
|
|
|
30
30
|
field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
|
31
31
|
|
|
32
|
-
sig { params(amount: T.nilable(Models::Components::AmountUpdate), display: T.nilable(Models::Components::PaymentLinkDisplayOptionsUpdate), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdate), payout: T.nilable(Models::Components::PaymentLinkPayoutDetailsUpdate), line_items: T.nilable(Models::Components::
|
|
32
|
+
sig { params(amount: T.nilable(Models::Components::AmountUpdate), display: T.nilable(Models::Components::PaymentLinkDisplayOptionsUpdate), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdate), payout: T.nilable(Models::Components::PaymentLinkPayoutDetailsUpdate), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItemsUpdate), expires_on: T.nilable(::DateTime)).void }
|
|
33
33
|
def initialize(amount: nil, display: nil, customer: nil, payment: nil, payout: nil, line_items: nil, expires_on: nil)
|
|
34
34
|
@amount = amount
|
|
35
35
|
@display = display
|
|
@@ -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
|
+
|
|
12
|
+
class WebhookDataInvoiceCreated
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
|
|
18
|
+
|
|
19
|
+
field :invoice_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID'), required: true } }
|
|
20
|
+
|
|
21
|
+
sig { params(account_id: ::String, invoice_id: ::String).void }
|
|
22
|
+
def initialize(account_id:, invoice_id:)
|
|
23
|
+
@account_id = account_id
|
|
24
|
+
@invoice_id = invoice_id
|
|
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 @account_id == other.account_id
|
|
31
|
+
return false unless @invoice_id == other.invoice_id
|
|
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::WebhookDataInvoiceCreated
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::WebhookDataInvoiceCreated
|
|
11
|
+
def account_id(); end
|
|
12
|
+
def account_id=(str_); end
|
|
13
|
+
def invoice_id(); end
|
|
14
|
+
def invoice_id=(str_); end
|
|
15
|
+
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
|
+
|
|
12
|
+
class WebhookDataInvoiceUpdated
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
|
|
18
|
+
|
|
19
|
+
field :invoice_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('invoiceID'), required: true } }
|
|
20
|
+
|
|
21
|
+
field :status, Models::Components::InvoiceStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Components::InvoiceStatus, false) } }
|
|
22
|
+
|
|
23
|
+
sig { params(account_id: ::String, invoice_id: ::String, status: Models::Components::InvoiceStatus).void }
|
|
24
|
+
def initialize(account_id:, invoice_id:, status:)
|
|
25
|
+
@account_id = account_id
|
|
26
|
+
@invoice_id = invoice_id
|
|
27
|
+
@status = status
|
|
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 @account_id == other.account_id
|
|
34
|
+
return false unless @invoice_id == other.invoice_id
|
|
35
|
+
return false unless @status == other.status
|
|
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::WebhookDataInvoiceUpdated
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::WebhookDataInvoiceUpdated
|
|
11
|
+
def account_id(); end
|
|
12
|
+
def account_id=(str_); end
|
|
13
|
+
def invoice_id(); end
|
|
14
|
+
def invoice_id=(str_); end
|
|
15
|
+
def status(); end
|
|
16
|
+
def status=(str_); end
|
|
17
|
+
end
|
|
@@ -18,11 +18,11 @@ module Moov
|
|
|
18
18
|
# The type of event that occurred.
|
|
19
19
|
field :type, Models::Components::WebhookEventType, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('type'), required: true, 'decoder': Utils.enum_from_string(Models::Components::WebhookEventType, false) } }
|
|
20
20
|
# The data for the webhook event. The contents are based on the event type.
|
|
21
|
-
field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
|
|
21
|
+
field :data, Crystalline::Union.new(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataInvoiceCreated, Models::Components::WebhookDataInvoiceUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('data'), required: true } }
|
|
22
22
|
|
|
23
23
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': Utils.datetime_from_iso_format(false) } }
|
|
24
24
|
|
|
25
|
-
sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated), created_on: ::DateTime).void }
|
|
25
|
+
sig { params(event_id: ::String, type: Models::Components::WebhookEventType, data: T.any(Models::Components::WebhookDataAccountCreated, Models::Components::WebhookDataAccountUpdated, Models::Components::WebhookDataAccountDisconnected, Models::Components::WebhookDataBalanceUpdated, Models::Components::WebhookDataBankAccountCreated, Models::Components::WebhookDataBankAccountUpdated, Models::Components::WebhookDataBankAccountDeleted, Models::Components::WebhookDataCancellationCreated, Models::Components::WebhookDataCancellationUpdated, Models::Components::WebhookDataCardAutoUpdated, Models::Components::WebhookDataCapabilityRequested, Models::Components::WebhookDataCapabilityUpdated, Models::Components::WebhookDataDisputeCreated, Models::Components::WebhookDataDisputeUpdated, Models::Components::WebhookDataInvoiceCreated, Models::Components::WebhookDataInvoiceUpdated, Models::Components::WebhookDataNetworkIDUpdated, Models::Components::WebhookDataPaymentMethodEnabled, Models::Components::WebhookDataPaymentMethodDisabled, Models::Components::WebhookDataRefundCreated, Models::Components::WebhookDataRefundUpdated, Models::Components::WebhookDataRepresentativeCreated, Models::Components::WebhookDataRepresentativeUpdated, Models::Components::WebhookDataRepresentativeDisabled, Models::Components::WebhookDataSweepCreated, Models::Components::WebhookDataSweepUpdated, Models::Components::WebhookDataTerminalApplicationCreated, Models::Components::WebhookDataTerminalApplicationUpdated, Models::Components::WebhookDataTicketCreated, Models::Components::WebhookDataTicketUpdated, Models::Components::WebhookDataTicketMessageAdded, Models::Components::WebhookDataTransferCreated, Models::Components::WebhookDataTransferUpdated, Models::Components::WebhookDataWalletCreated, Models::Components::WebhookDataWalletUpdated, Models::Components::WebhookDataWalletTransactionUpdated, Models::Components::WebhookBillingStatementCreated), created_on: ::DateTime).void }
|
|
26
26
|
def initialize(event_id:, type:, data:, created_on:)
|
|
27
27
|
@event_id = event_id
|
|
28
28
|
@type = type
|
|
@@ -28,6 +28,8 @@ module Moov
|
|
|
28
28
|
CAPABILITY_UPDATED = new('capability.updated')
|
|
29
29
|
DISPUTE_CREATED = new('dispute.created')
|
|
30
30
|
DISPUTE_UPDATED = new('dispute.updated')
|
|
31
|
+
INVOICE_CREATED = new('invoice.created')
|
|
32
|
+
INVOICE_UPDATED = new('invoice.updated')
|
|
31
33
|
NETWORK_ID_UPDATED = new('networkID.updated')
|
|
32
34
|
PAYMENT_METHOD_ENABLED = new('paymentMethod.enabled')
|
|
33
35
|
PAYMENT_METHOD_DISABLED = new('paymentMethod.disabled')
|