moov_ruby 0.1.30 → 0.1.31

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/models/components/amountdecimalvalidationerror.rb +37 -0
  4. data/lib/moov/models/components/amountdecimalvalidationerror.rbi +15 -0
  5. data/lib/moov/models/components/assignproductimage.rb +33 -0
  6. data/lib/moov/models/components/assignproductimage.rbi +13 -0
  7. data/lib/moov/models/components/assignproductimagevalidationerror.rb +33 -0
  8. data/lib/moov/models/components/assignproductimagevalidationerror.rbi +13 -0
  9. data/lib/moov/models/components/createproductoption.rb +49 -0
  10. data/lib/moov/models/components/createproductoption.rbi +19 -0
  11. data/lib/moov/models/components/createproductoptiongroup.rb +55 -0
  12. data/lib/moov/models/components/createproductoptiongroup.rbi +21 -0
  13. data/lib/moov/models/components/product.rb +69 -0
  14. data/lib/moov/models/components/product.rbi +29 -0
  15. data/lib/moov/models/components/productimagemetadata.rb +41 -0
  16. data/lib/moov/models/components/productimagemetadata.rbi +17 -0
  17. data/lib/moov/models/components/productoption.rb +49 -0
  18. data/lib/moov/models/components/productoption.rbi +19 -0
  19. data/lib/moov/models/components/productoptiongroup.rb +55 -0
  20. data/lib/moov/models/components/productoptiongroup.rbi +21 -0
  21. data/lib/moov/models/components/productoptiongroupvalidationerror.rb +49 -0
  22. data/lib/moov/models/components/productoptiongroupvalidationerror.rbi +21 -0
  23. data/lib/moov/models/components/productoptionvalidationerror.rb +45 -0
  24. data/lib/moov/models/components/productoptionvalidationerror.rbi +19 -0
  25. data/lib/moov/models/components/productrequest.rb +53 -0
  26. data/lib/moov/models/components/productrequest.rbi +21 -0
  27. data/lib/moov/models/components.rb +12 -0
  28. data/lib/moov/models/errors/productrequestvalidationerror.rb +53 -0
  29. data/lib/moov/models/errors/productrequestvalidationerror.rbi +23 -0
  30. data/lib/moov/models/errors.rb +1 -0
  31. data/lib/moov/models/operations/createproduct_request.rb +49 -0
  32. data/lib/moov/models/operations/createproduct_request.rbi +17 -0
  33. data/lib/moov/models/operations/createproduct_response.rb +49 -0
  34. data/lib/moov/models/operations/createproduct_response.rbi +21 -0
  35. data/lib/moov/models/operations/disableproduct_request.rb +49 -0
  36. data/lib/moov/models/operations/disableproduct_request.rbi +17 -0
  37. data/lib/moov/models/operations/disableproduct_response.rb +45 -0
  38. data/lib/moov/models/operations/disableproduct_response.rbi +19 -0
  39. data/lib/moov/models/operations/getproduct_request.rb +49 -0
  40. data/lib/moov/models/operations/getproduct_request.rbi +17 -0
  41. data/lib/moov/models/operations/getproduct_response.rb +49 -0
  42. data/lib/moov/models/operations/getproduct_response.rbi +21 -0
  43. data/lib/moov/models/operations/listproducts_request.rb +53 -0
  44. data/lib/moov/models/operations/listproducts_request.rbi +19 -0
  45. data/lib/moov/models/operations/listproducts_response.rb +49 -0
  46. data/lib/moov/models/operations/listproducts_response.rbi +21 -0
  47. data/lib/moov/models/operations/updateproduct_request.rb +53 -0
  48. data/lib/moov/models/operations/updateproduct_request.rbi +19 -0
  49. data/lib/moov/models/operations/updateproduct_response.rb +49 -0
  50. data/lib/moov/models/operations/updateproduct_response.rbi +21 -0
  51. data/lib/moov/models/operations.rb +10 -0
  52. data/lib/moov/products.rb +732 -0
  53. data/lib/moov/sdkconfiguration.rb +2 -2
  54. data/lib/moov_ruby.rb +1 -0
  55. metadata +49 -2
@@ -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 ProductOptionGroupValidationError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
18
+
19
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
+
21
+ field :min_select, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minSelect') } }
22
+
23
+ field :max_select, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('maxSelect') } }
24
+
25
+ field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::ProductOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
26
+
27
+ sig { params(name: T.nilable(::String), description: T.nilable(::String), min_select: T.nilable(::String), max_select: T.nilable(::String), options: T.nilable(T::Hash[Symbol, Models::Components::ProductOptionValidationError])).void }
28
+ def initialize(name: nil, description: nil, min_select: nil, max_select: nil, options: nil)
29
+ @name = name
30
+ @description = description
31
+ @min_select = min_select
32
+ @max_select = max_select
33
+ @options = options
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @name == other.name
40
+ return false unless @description == other.description
41
+ return false unless @min_select == other.min_select
42
+ return false unless @max_select == other.max_select
43
+ return false unless @options == other.options
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::ProductOptionGroupValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ProductOptionGroupValidationError
11
+ def name(); end
12
+ def name=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ def min_select(); end
16
+ def min_select=(str_); end
17
+ def max_select(); end
18
+ def max_select=(str_); end
19
+ def options(); end
20
+ def options=(str_); end
21
+ 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 ProductOptionValidationError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name') } }
18
+
19
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
+
21
+ field :price_modifier, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+
23
+ field :images, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::AssignProductImageValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
24
+
25
+ sig { params(name: T.nilable(::String), description: T.nilable(::String), price_modifier: T.nilable(::String), images: T.nilable(T::Hash[Symbol, Models::Components::AssignProductImageValidationError])).void }
26
+ def initialize(name: nil, description: nil, price_modifier: nil, images: nil)
27
+ @name = name
28
+ @description = description
29
+ @price_modifier = price_modifier
30
+ @images = images
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 @name == other.name
37
+ return false unless @description == other.description
38
+ return false unless @price_modifier == other.price_modifier
39
+ return false unless @images == other.images
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::ProductOptionValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ProductOptionValidationError
11
+ def name(); end
12
+ def name=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def images(); end
18
+ def images=(str_); end
19
+ 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
+ # Request to create or update a product.
12
+ class ProductRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :title, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('title'), required: true } }
18
+ # A product's starting price, before applying modifiers.
19
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
20
+ # A detailed description of the product.
21
+ #
22
+ # - Must be valid UTF-8 text
23
+ # - Supports Markdown for formatting
24
+ # - HTML is not permitted and will be rejected
25
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
26
+ # Assign previously uploaded images to a product or option.
27
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
28
+ # Optional configuration options for a product, such as size or color.
29
+ field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreateProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
30
+
31
+ sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup])).void }
32
+ def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil)
33
+ @title = title
34
+ @base_price = base_price
35
+ @description = description
36
+ @images = images
37
+ @option_groups = option_groups
38
+ end
39
+
40
+ sig { params(other: T.untyped).returns(T::Boolean) }
41
+ def ==(other)
42
+ return false unless other.is_a? self.class
43
+ return false unless @title == other.title
44
+ return false unless @base_price == other.base_price
45
+ return false unless @description == other.description
46
+ return false unless @images == other.images
47
+ return false unless @option_groups == other.option_groups
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ProductRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ProductRequest
11
+ def title(); end
12
+ def title=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def description(); end
16
+ def description=(str_); end
17
+ def images(); end
18
+ def images=(str_); end
19
+ def option_groups(); end
20
+ def option_groups=(str_); end
21
+ end
@@ -40,6 +40,7 @@ module Moov
40
40
  autoload :Adjustment, 'moov/models/components/adjustment.rb'
41
41
  autoload :Amount, 'moov/models/components/amount.rb'
42
42
  autoload :AmountDecimal, 'moov/models/components/amountdecimal.rb'
43
+ autoload :AmountDecimalValidationError, 'moov/models/components/amountdecimalvalidationerror.rb'
43
44
  autoload :AmountUpdate, 'moov/models/components/amountupdate.rb'
44
45
  autoload :AmountValidationError, 'moov/models/components/amountvalidationerror.rb'
45
46
  autoload :AppleBillingContact, 'moov/models/components/applebillingcontact.rb'
@@ -49,6 +50,8 @@ module Moov
49
50
  autoload :ApplePayPaymentMethodPaymentMethodType, 'moov/models/components/applepaypaymentmethod_paymentmethodtype.rb'
50
51
  autoload :ApplePayResponse, 'moov/models/components/applepayresponse.rb'
51
52
  autoload :ApplicationScope, 'moov/models/components/applicationscope.rb'
53
+ autoload :AssignProductImage, 'moov/models/components/assignproductimage.rb'
54
+ autoload :AssignProductImageValidationError, 'moov/models/components/assignproductimagevalidationerror.rb'
52
55
  autoload :AsyncCreatedRefund, 'moov/models/components/asynccreatedrefund.rb'
53
56
  autoload :AsyncTransfer, 'moov/models/components/asynctransfer.rb'
54
57
  autoload :AuthToken, 'moov/models/components/authtoken.rb'
@@ -157,6 +160,8 @@ module Moov
157
160
  autoload :CreateIndividualErrorSsn, 'moov/models/components/createindividualerror_ssn.rb'
158
161
  autoload :CreateIndividualProfile, 'moov/models/components/createindividualprofile.rb'
159
162
  autoload :CreatePaymentLink, 'moov/models/components/createpaymentlink.rb'
163
+ autoload :CreateProductOption, 'moov/models/components/createproductoption.rb'
164
+ autoload :CreateProductOptionGroup, 'moov/models/components/createproductoptiongroup.rb'
160
165
  autoload :CreateProfile, 'moov/models/components/createprofile.rb'
161
166
  autoload :CreateProfileError, 'moov/models/components/createprofileerror.rb'
162
167
  autoload :CreateRefund, 'moov/models/components/createrefund.rb'
@@ -346,6 +351,13 @@ module Moov
346
351
  autoload :PlaidPayload, 'moov/models/components/plaidpayload.rb'
347
352
  autoload :PlatformFees, 'moov/models/components/platformfees.rb'
348
353
  autoload :PrimaryRegulator, 'moov/models/components/primaryregulator.rb'
354
+ autoload :Product, 'moov/models/components/product.rb'
355
+ autoload :ProductImageMetadata, 'moov/models/components/productimagemetadata.rb'
356
+ autoload :ProductOption, 'moov/models/components/productoption.rb'
357
+ autoload :ProductOptionGroup, 'moov/models/components/productoptiongroup.rb'
358
+ autoload :ProductOptionGroupValidationError, 'moov/models/components/productoptiongroupvalidationerror.rb'
359
+ autoload :ProductOptionValidationError, 'moov/models/components/productoptionvalidationerror.rb'
360
+ autoload :ProductRequest, 'moov/models/components/productrequest.rb'
349
361
  autoload :Profile, 'moov/models/components/profile.rb'
350
362
  autoload :PullFromCardPaymentMethod, 'moov/models/components/pullfromcardpaymentmethod.rb'
351
363
  autoload :PullFromCardPaymentMethodPaymentMethodType, 'moov/models/components/pullfromcardpaymentmethod_paymentmethodtype.rb'
@@ -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 Errors
10
+
11
+
12
+ class ProductRequestValidationError < StandardError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('title') } }
18
+
19
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
+
21
+ field :base_price, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice') } }
22
+
23
+ field :images, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::AssignProductImageValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
24
+
25
+ field :option_groups, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::ProductOptionGroupValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
26
+ # Raw HTTP response; suitable for custom response parsing
27
+ field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
28
+
29
+ sig { params(title: T.nilable(::String), description: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), images: T.nilable(T::Hash[Symbol, Models::Components::AssignProductImageValidationError]), option_groups: T.nilable(T::Hash[Symbol, Models::Components::ProductOptionGroupValidationError]), raw_response: T.nilable(::Faraday::Response)).void }
30
+ def initialize(title: nil, description: nil, base_price: nil, images: nil, option_groups: nil, raw_response: nil)
31
+ @title = title
32
+ @description = description
33
+ @base_price = base_price
34
+ @images = images
35
+ @option_groups = option_groups
36
+ @raw_response = raw_response
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 @title == other.title
43
+ return false unless @description == other.description
44
+ return false unless @base_price == other.base_price
45
+ return false unless @images == other.images
46
+ return false unless @option_groups == other.option_groups
47
+ return false unless @raw_response == other.raw_response
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::Errors::ProductRequestValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Errors::ProductRequestValidationError
11
+ def title(); end
12
+ def title=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
15
+ def base_price(); end
16
+ def base_price=(str_); end
17
+ def images(); end
18
+ def images=(str_); end
19
+ def option_groups(); end
20
+ def option_groups=(str_); end
21
+ def raw_response(); end
22
+ def raw_response=(str_); end
23
+ end
@@ -34,6 +34,7 @@ module Moov
34
34
  autoload :PatchSweepConfigError, 'moov/models/errors/patchsweepconfigerror.rb'
35
35
  autoload :PatchTransferValidationError, 'moov/models/errors/patchtransfervalidationerror.rb'
36
36
  autoload :PatchWalletValidationError, 'moov/models/errors/patchwalletvalidationerror.rb'
37
+ autoload :ProductRequestValidationError, 'moov/models/errors/productrequestvalidationerror.rb'
37
38
  autoload :RefundValidationError, 'moov/models/errors/refundvalidationerror.rb'
38
39
  autoload :RepresentativeValidationError, 'moov/models/errors/representativevalidationerror.rb'
39
40
  autoload :RequestCardError, 'moov/models/errors/requestcarderror.rb'
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class CreateProductRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+
19
+ field :product_request, Models::Components::ProductRequest, { 'request': { 'media_type': 'application/json' } }
20
+ # Specify an API version.
21
+ #
22
+ # API versioning follows the format `vYYYY.QQ.BB`, where
23
+ # - `YYYY` is the year
24
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
25
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
26
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
27
+ #
28
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
29
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'x-moov-version', 'style': 'simple', 'explode': false } }
30
+
31
+ sig { params(account_id: ::String, product_request: Models::Components::ProductRequest, x_moov_version: T.nilable(::String)).void }
32
+ def initialize(account_id:, product_request:, x_moov_version: 'v2024.01.00')
33
+ @account_id = account_id
34
+ @product_request = product_request
35
+ @x_moov_version = x_moov_version
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @account_id == other.account_id
42
+ return false unless @product_request == other.product_request
43
+ return false unless @x_moov_version == other.x_moov_version
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::CreateProductRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::CreateProductRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def product_request(); end
14
+ def product_request=(str_); end
15
+ def x_moov_version(); end
16
+ def x_moov_version=(str_); end
17
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class CreateProductResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+ # The resource was successfully created.
25
+ field :product, Crystalline::Nilable.new(Models::Components::Product)
26
+
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], product: T.nilable(Models::Components::Product)).void }
28
+ def initialize(content_type:, status_code:, raw_response:, headers:, product: nil)
29
+ @content_type = content_type
30
+ @status_code = status_code
31
+ @raw_response = raw_response
32
+ @headers = headers
33
+ @product = product
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @content_type == other.content_type
40
+ return false unless @status_code == other.status_code
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @headers == other.headers
43
+ return false unless @product == other.product
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::CreateProductResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::CreateProductResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def product(); end
20
+ def product=(str_); end
21
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class DisableProductRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+
19
+ field :product_id, ::String, { 'path_param': { 'field_name': 'productID', 'style': 'simple', 'explode': false } }
20
+ # Specify an API version.
21
+ #
22
+ # API versioning follows the format `vYYYY.QQ.BB`, where
23
+ # - `YYYY` is the year
24
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
25
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
26
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
27
+ #
28
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
29
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'x-moov-version', 'style': 'simple', 'explode': false } }
30
+
31
+ sig { params(account_id: ::String, product_id: ::String, x_moov_version: T.nilable(::String)).void }
32
+ def initialize(account_id:, product_id:, x_moov_version: 'v2024.01.00')
33
+ @account_id = account_id
34
+ @product_id = product_id
35
+ @x_moov_version = x_moov_version
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @account_id == other.account_id
42
+ return false unless @product_id == other.product_id
43
+ return false unless @x_moov_version == other.x_moov_version
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::DisableProductRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DisableProductRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def product_id(); end
14
+ def product_id=(str_); end
15
+ def x_moov_version(); end
16
+ def x_moov_version=(str_); end
17
+ 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 Operations
10
+
11
+
12
+ class DisableProductResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+
25
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]]).void }
26
+ def initialize(content_type:, status_code:, raw_response:, headers:)
27
+ @content_type = content_type
28
+ @status_code = status_code
29
+ @raw_response = raw_response
30
+ @headers = headers
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 @content_type == other.content_type
37
+ return false unless @status_code == other.status_code
38
+ return false unless @raw_response == other.raw_response
39
+ return false unless @headers == other.headers
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::Operations::DisableProductResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DisableProductResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class GetProductRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+
19
+ field :product_id, ::String, { 'path_param': { 'field_name': 'productID', 'style': 'simple', 'explode': false } }
20
+ # Specify an API version.
21
+ #
22
+ # API versioning follows the format `vYYYY.QQ.BB`, where
23
+ # - `YYYY` is the year
24
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
25
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
26
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
27
+ #
28
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
29
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'x-moov-version', 'style': 'simple', 'explode': false } }
30
+
31
+ sig { params(account_id: ::String, product_id: ::String, x_moov_version: T.nilable(::String)).void }
32
+ def initialize(account_id:, product_id:, x_moov_version: 'v2024.01.00')
33
+ @account_id = account_id
34
+ @product_id = product_id
35
+ @x_moov_version = x_moov_version
36
+ end
37
+
38
+ sig { params(other: T.untyped).returns(T::Boolean) }
39
+ def ==(other)
40
+ return false unless other.is_a? self.class
41
+ return false unless @account_id == other.account_id
42
+ return false unless @product_id == other.product_id
43
+ return false unless @x_moov_version == other.x_moov_version
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end