moov_ruby 0.3.5 → 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.
- 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/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/invoicelineitem.rbi +21 -0
- data/lib/moov/models/components/invoicelineitemoption.rb +45 -0
- data/lib/moov/models/components/invoicelineitemoption.rbi +19 -0
- data/lib/moov/models/components/invoicelineitemoptionvalidationerror.rb +45 -0
- 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/invoicelineitemsvalidationerror.rb +33 -0
- data/lib/moov/models/components/invoicelineitemsvalidationerror.rbi +13 -0
- data/lib/moov/models/components/invoicelineitemvalidationerror.rb +49 -0
- 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/updateinvoice.rb +53 -0
- data/lib/moov/models/components/updateinvoice.rbi +23 -0
- 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 +20 -0
- data/lib/moov/models/errors/createinvoiceerror.rb +57 -0
- data/lib/moov/models/errors/createinvoiceerror.rbi +25 -0
- 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.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 +2 -2
- data/lib/moov_ruby.rb +1 -0
- metadata +71 -2
|
@@ -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
|
+
# A collection of line items for an invoice.
|
|
12
|
+
class InvoiceLineItemsUpdate
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
# The list of line items.
|
|
17
|
+
field :items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::InvoiceLineItem)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
|
|
18
|
+
|
|
19
|
+
sig { params(items: T.nilable(T::Array[Models::Components::InvoiceLineItem])).void }
|
|
20
|
+
def initialize(items: nil)
|
|
21
|
+
@items = items
|
|
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 @items == other.items
|
|
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::InvoiceLineItemsUpdate
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::InvoiceLineItemsUpdate
|
|
11
|
+
def items(); end
|
|
12
|
+
def items=(str_); end
|
|
13
|
+
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
|
+
|
|
12
|
+
class InvoiceLineItemsValidationError
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::InvoiceLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
|
|
18
|
+
|
|
19
|
+
sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::InvoiceLineItemValidationError])).void }
|
|
20
|
+
def initialize(items: nil)
|
|
21
|
+
@items = items
|
|
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 @items == other.items
|
|
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::InvoiceLineItemsValidationError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::InvoiceLineItemsValidationError
|
|
11
|
+
def items(); end
|
|
12
|
+
def items=(str_); end
|
|
13
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Moov
|
|
8
|
+
module Models
|
|
9
|
+
module Components
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class InvoiceLineItemValidationError
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
|
|
18
|
+
|
|
19
|
+
field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
|
|
20
|
+
|
|
21
|
+
field :base_price, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice') } }
|
|
22
|
+
|
|
23
|
+
field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::InvoiceLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
|
|
24
|
+
|
|
25
|
+
field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
|
|
26
|
+
|
|
27
|
+
sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::InvoiceLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
|
|
28
|
+
def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil)
|
|
29
|
+
@product_id = product_id
|
|
30
|
+
@name = name
|
|
31
|
+
@base_price = base_price
|
|
32
|
+
@options = options
|
|
33
|
+
@quantity = quantity
|
|
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 @product_id == other.product_id
|
|
40
|
+
return false unless @name == other.name
|
|
41
|
+
return false unless @base_price == other.base_price
|
|
42
|
+
return false unless @options == other.options
|
|
43
|
+
return false unless @quantity == other.quantity
|
|
44
|
+
true
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::InvoiceLineItemValidationError
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::InvoiceLineItemValidationError
|
|
11
|
+
def product_id(); end
|
|
12
|
+
def product_id=(str_); end
|
|
13
|
+
def name(); end
|
|
14
|
+
def name=(str_); end
|
|
15
|
+
def base_price(); end
|
|
16
|
+
def base_price=(str_); end
|
|
17
|
+
def options(); end
|
|
18
|
+
def options=(str_); end
|
|
19
|
+
def quantity(); end
|
|
20
|
+
def quantity=(str_); end
|
|
21
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
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 InvoicePayment
|
|
13
|
+
extend T::Sig
|
|
14
|
+
include Crystalline::MetadataFields
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def initialize; end
|
|
19
|
+
|
|
20
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
21
|
+
def ==(other)
|
|
22
|
+
return false unless other.is_a? self.class
|
|
23
|
+
true
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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')
|