moov_ruby 26.10.0.pre.dev.0 → 26.10.0.pre.dev.1

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/avatars.rb +275 -0
  3. data/lib/moov/models/components/avataruploadrequest.rb +32 -0
  4. data/lib/moov/models/components/avataruploadrequest.rbi +13 -0
  5. data/lib/moov/models/components/avataruploadrequest_file.rb +36 -0
  6. data/lib/moov/models/components/avataruploadrequest_file.rbi +15 -0
  7. data/lib/moov/models/components/capabilityid.rb +1 -0
  8. data/lib/moov/models/components/createtransfer.rb +6 -2
  9. data/lib/moov/models/components/createtransfer.rbi +2 -0
  10. data/lib/moov/models/components/feepaidby.rb +19 -0
  11. data/lib/moov/models/components/feepaidby.rbi +11 -0
  12. data/lib/moov/models/components/incurredfee.rb +6 -2
  13. data/lib/moov/models/components/incurredfee.rbi +2 -0
  14. data/lib/moov/models/components/issuingintervallimit.rb +1 -1
  15. data/lib/moov/models/components/issuingvelocitylimit.rb +1 -1
  16. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +8 -2
  17. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +2 -0
  18. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +8 -2
  19. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +2 -0
  20. data/lib/moov/models/components/payoutdetailserror.rb +6 -2
  21. data/lib/moov/models/components/payoutdetailserror.rbi +2 -0
  22. data/lib/moov/models/components/product.rb +6 -2
  23. data/lib/moov/models/components/product.rbi +2 -0
  24. data/lib/moov/models/components/productcategories.rb +32 -0
  25. data/lib/moov/models/components/productcategories.rbi +13 -0
  26. data/lib/moov/models/components/productcategory.rb +48 -0
  27. data/lib/moov/models/components/productcategory.rbi +21 -0
  28. data/lib/moov/models/components/productrequest.rb +6 -2
  29. data/lib/moov/models/components/productrequest.rbi +2 -0
  30. data/lib/moov/models/components/schemebasicauth.rb +36 -0
  31. data/lib/moov/models/components/schemebasicauth.rbi +15 -0
  32. data/lib/moov/models/components/schemeoauth2auth.rb +40 -0
  33. data/lib/moov/models/components/schemeoauth2auth.rbi +17 -0
  34. data/lib/moov/models/components/transferfeepaidby.rb +32 -0
  35. data/lib/moov/models/components/transferfeepaidby.rbi +13 -0
  36. data/lib/moov/models/components.rb +8 -0
  37. data/lib/moov/models/errors/productrequestvalidationerror.rb +6 -2
  38. data/lib/moov/models/errors/productrequestvalidationerror.rbi +2 -0
  39. data/lib/moov/models/operations/deleteavatar_request.rb +32 -0
  40. data/lib/moov/models/operations/deleteavatar_request.rbi +13 -0
  41. data/lib/moov/models/operations/deleteavatar_response.rb +44 -0
  42. data/lib/moov/models/operations/deleteavatar_response.rbi +19 -0
  43. data/lib/moov/models/operations/deleteavatar_security.rb +36 -0
  44. data/lib/moov/models/operations/deleteavatar_security.rbi +15 -0
  45. data/lib/moov/models/operations/listproductcategories_response.rb +48 -0
  46. data/lib/moov/models/operations/listproductcategories_response.rbi +21 -0
  47. data/lib/moov/models/operations/listproducts_request.rb +8 -2
  48. data/lib/moov/models/operations/listproducts_request.rbi +2 -0
  49. data/lib/moov/models/operations/uploadavatar_request.rb +36 -0
  50. data/lib/moov/models/operations/uploadavatar_request.rbi +15 -0
  51. data/lib/moov/models/operations/uploadavatar_response.rb +44 -0
  52. data/lib/moov/models/operations/uploadavatar_response.rbi +19 -0
  53. data/lib/moov/models/operations/uploadavatar_security.rb +36 -0
  54. data/lib/moov/models/operations/uploadavatar_security.rbi +15 -0
  55. data/lib/moov/models/operations.rb +7 -0
  56. data/lib/moov/products.rb +113 -8
  57. data/lib/moov/sdk_hooks/clientcredentials.rb +386 -0
  58. data/lib/moov/sdk_hooks/hooks.rb +6 -0
  59. data/lib/moov/sdk_hooks/oauth2scopes.rb +18 -0
  60. data/lib/moov/sdkconfiguration.rb +3 -3
  61. metadata +34 -2
@@ -32,11 +32,13 @@ module Moov
32
32
  field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
33
33
  # Optional images associated with the product.
34
34
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ProductImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
35
+ # The product taxonomy category associated with the product, if any.
36
+ field :category, Crystalline::Nilable.new(Models::Components::ProductCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category') } }
35
37
  # The date and time when the product was disabled.
36
38
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
37
39
 
38
- sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), disabled_on: T.nilable(::DateTime)).void }
39
- def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, disabled_on: nil)
40
+ sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
41
+ def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
40
42
  @product_id = product_id
41
43
  @title = title
42
44
  @base_price = base_price
@@ -45,6 +47,7 @@ module Moov
45
47
  @description = description
46
48
  @option_groups = option_groups
47
49
  @images = images
50
+ @category = category
48
51
  @disabled_on = disabled_on
49
52
  end
50
53
 
@@ -59,6 +62,7 @@ module Moov
59
62
  return false unless @description == other.description
60
63
  return false unless @option_groups == other.option_groups
61
64
  return false unless @images == other.images
65
+ return false unless @category == other.category
62
66
  return false unless @disabled_on == other.disabled_on
63
67
  true
64
68
  end
@@ -24,6 +24,8 @@ class Moov::Models::Components::Product
24
24
  def option_groups=(str_); end
25
25
  def images(); end
26
26
  def images=(str_); end
27
+ def category(); end
28
+ def category=(str_); end
27
29
  def disabled_on(); end
28
30
  def disabled_on=(str_); end
29
31
  end
@@ -0,0 +1,32 @@
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
+ # A list of product categories from the product taxonomy.
11
+ class ProductCategories
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :categories, Crystalline::Array.new(Models::Components::ProductCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories'), required: true } }
17
+
18
+ sig { params(categories: T::Array[Models::Components::ProductCategory]).void }
19
+ def initialize(categories:)
20
+ @categories = categories
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @categories == other.categories
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ProductCategories
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ProductCategories
11
+ def categories(); end
12
+ def categories=(str_); end
13
+ end
@@ -0,0 +1,48 @@
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
+ # A product category from the product taxonomy.
11
+ class ProductCategory
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The unique identifier for the category.
16
+ field :category_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID'), required: true } }
17
+ # The short display name of the category.
18
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
19
+ # The full taxonomy path name of the category.
20
+ field :full_name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fullName'), required: true } }
21
+ # The depth of the category in the taxonomy tree (1 = top-level).
22
+ field :level, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('level'), required: true } }
23
+ # The identifier of the parent category, if any. Absent for top-level categories.
24
+ field :parent_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('parentID') } }
25
+
26
+ sig { params(category_id: ::String, name: ::String, full_name: ::String, level: ::Integer, parent_id: T.nilable(::String)).void }
27
+ def initialize(category_id:, name:, full_name:, level:, parent_id: nil)
28
+ @category_id = category_id
29
+ @name = name
30
+ @full_name = full_name
31
+ @level = level
32
+ @parent_id = parent_id
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @category_id == other.category_id
39
+ return false unless @name == other.name
40
+ return false unless @full_name == other.full_name
41
+ return false unless @level == other.level
42
+ return false unless @parent_id == other.parent_id
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ProductCategory
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ProductCategory
11
+ def category_id(); end
12
+ def category_id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def full_name(); end
16
+ def full_name=(str_); end
17
+ def level(); end
18
+ def level=(str_); end
19
+ def parent_id(); end
20
+ def parent_id=(str_); end
21
+ end
@@ -26,14 +26,17 @@ module Moov
26
26
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
27
27
  # Optional configuration options for a product, such as size or color.
28
28
  field :option_groups, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreateProductOptionGroup)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
29
+ # The ID of a product taxonomy category to associate with the product.
30
+ field :category_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID') } }
29
31
 
30
- 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 }
31
- def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil)
32
+ 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]), category_id: T.nilable(::String)).void }
33
+ def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil, category_id: nil)
32
34
  @title = title
33
35
  @base_price = base_price
34
36
  @description = description
35
37
  @images = images
36
38
  @option_groups = option_groups
39
+ @category_id = category_id
37
40
  end
38
41
 
39
42
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -44,6 +47,7 @@ module Moov
44
47
  return false unless @description == other.description
45
48
  return false unless @images == other.images
46
49
  return false unless @option_groups == other.option_groups
50
+ return false unless @category_id == other.category_id
47
51
  true
48
52
  end
49
53
  end
@@ -18,4 +18,6 @@ class Moov::Models::Components::ProductRequest
18
18
  def images=(str_); end
19
19
  def option_groups(); end
20
20
  def option_groups=(str_); end
21
+ def category_id(); end
22
+ def category_id=(str_); end
21
23
  end
@@ -0,0 +1,36 @@
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
+ class SchemeBasicAuth
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :username, ::String, { 'security': { 'field_name': 'username' } }
17
+
18
+ field :password, ::String, { 'security': { 'field_name': 'password' } }
19
+
20
+ sig { params(username: ::String, password: ::String).void }
21
+ def initialize(username:, password:)
22
+ @username = username
23
+ @password = password
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @username == other.username
30
+ return false unless @password == other.password
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::SchemeBasicAuth
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::SchemeBasicAuth
11
+ def username(); end
12
+ def username=(str_); end
13
+ def password(); end
14
+ def password=(str_); end
15
+ end
@@ -0,0 +1,40 @@
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
+ class SchemeOAuth2Auth
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :client_id, ::String, { 'security': { 'field_name': 'clientID' } }
17
+
18
+ field :client_secret, ::String, { 'security': { 'field_name': 'clientSecret' } }
19
+
20
+ field :token_url, ::String, {}
21
+
22
+ sig { params(client_id: ::String, client_secret: ::String, token_url: ::String).void }
23
+ def initialize(client_id:, client_secret:, token_url: '/oauth2/token')
24
+ @client_id = client_id
25
+ @client_secret = client_secret
26
+ @token_url = token_url
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @client_id == other.client_id
33
+ return false unless @client_secret == other.client_secret
34
+ return false unless @token_url == other.token_url
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::SchemeOAuth2Auth
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::SchemeOAuth2Auth
11
+ def client_id(); end
12
+ def client_id=(str_); end
13
+ def client_secret(); end
14
+ def client_secret=(str_); end
15
+ def token_url(); end
16
+ def token_url=(str_); end
17
+ end
@@ -0,0 +1,32 @@
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
+ # Indicates which party bears fees for a transfer, keyed by fee type.
11
+ class TransferFeePaidBy
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # For payouts, indicates which party bears the fee. Defaults to `source`.
16
+ field :payout, Crystalline::Nilable.new(Models::Components::FeePaidBy), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::FeePaidBy, true) } }
17
+
18
+ sig { params(payout: T.nilable(Models::Components::FeePaidBy)).void }
19
+ def initialize(payout: nil)
20
+ @payout = payout
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @payout == other.payout
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::TransferFeePaidBy
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferFeePaidBy
11
+ def payout(); end
12
+ def payout=(str_); end
13
+ end
@@ -73,6 +73,8 @@ module Moov
73
73
  autoload :AsyncTransfer, 'moov/models/components/asynctransfer.rb'
74
74
  autoload :AuthToken, 'moov/models/components/authtoken.rb'
75
75
  autoload :AuthTokenRequest, 'moov/models/components/authtokenrequest.rb'
76
+ autoload :AvatarUploadRequest, 'moov/models/components/avataruploadrequest.rb'
77
+ autoload :AvatarUploadRequestFile, 'moov/models/components/avataruploadrequest_file.rb'
76
78
  autoload :BankAccount, 'moov/models/components/bankaccount.rb'
77
79
  autoload :BankAccountException, 'moov/models/components/bankaccountexception.rb'
78
80
  autoload :BankAccountHolderType, 'moov/models/components/bankaccountholdertype.rb'
@@ -277,6 +279,7 @@ module Moov
277
279
  autoload :FedNowServices, 'moov/models/components/fednowservices.rb'
278
280
  autoload :FeeCategory, 'moov/models/components/feecategory.rb'
279
281
  autoload :FeeModel, 'moov/models/components/feemodel.rb'
282
+ autoload :FeePaidBy, 'moov/models/components/feepaidby.rb'
280
283
  autoload :FeePlan, 'moov/models/components/feeplan.rb'
281
284
  autoload :FeePlanAgreement, 'moov/models/components/feeplanagreement.rb'
282
285
  autoload :FeePlanAgreementStatus, 'moov/models/components/feeplanagreementstatus.rb'
@@ -459,6 +462,8 @@ module Moov
459
462
  autoload :PlatformFees, 'moov/models/components/platformfees.rb'
460
463
  autoload :PrimaryRegulator, 'moov/models/components/primaryregulator.rb'
461
464
  autoload :Product, 'moov/models/components/product.rb'
465
+ autoload :ProductCategories, 'moov/models/components/productcategories.rb'
466
+ autoload :ProductCategory, 'moov/models/components/productcategory.rb'
462
467
  autoload :ProductImageMetadata, 'moov/models/components/productimagemetadata.rb'
463
468
  autoload :ProductOption, 'moov/models/components/productoption.rb'
464
469
  autoload :ProductOptionGroup, 'moov/models/components/productoptiongroup.rb'
@@ -544,6 +549,8 @@ module Moov
544
549
  autoload :ScheduledTransferLineItem, 'moov/models/components/scheduledtransferlineitem.rb'
545
550
  autoload :ScheduledTransferLineItemOption, 'moov/models/components/scheduledtransferlineitemoption.rb'
546
551
  autoload :ScheduledTransferLineItems, 'moov/models/components/scheduledtransferlineitems.rb'
552
+ autoload :SchemeBasicAuth, 'moov/models/components/schemebasicauth.rb'
553
+ autoload :SchemeOAuth2Auth, 'moov/models/components/schemeoauth2auth.rb'
547
554
  autoload :Security, 'moov/models/components/security.rb'
548
555
  autoload :SendFunds, 'moov/models/components/sendfunds.rb'
549
556
  autoload :SendFundsAch, 'moov/models/components/sendfundsach.rb'
@@ -600,6 +607,7 @@ module Moov
600
607
  autoload :TransferDestination, 'moov/models/components/transferdestination.rb'
601
608
  autoload :TransferEntryMode, 'moov/models/components/transferentrymode.rb'
602
609
  autoload :TransferFailureReason, 'moov/models/components/transferfailurereason.rb'
610
+ autoload :TransferFeePaidBy, 'moov/models/components/transferfeepaidby.rb'
603
611
  autoload :TransferLineItem, 'moov/models/components/transferlineitem.rb'
604
612
  autoload :TransferLineItemImageMetadata, 'moov/models/components/transferlineitemimagemetadata.rb'
605
613
  autoload :TransferLineItemOption, 'moov/models/components/transferlineitemoption.rb'
@@ -22,16 +22,19 @@ module Moov
22
22
  field :images, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::AssignProductImageValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
23
23
 
24
24
  field :option_groups, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::ProductOptionGroupValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('optionGroups') } }
25
+
26
+ field :category_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID') } }
25
27
  # Raw HTTP response; suitable for custom response parsing
26
28
  field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
27
29
 
28
- 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 }
29
- def initialize(title: nil, description: nil, base_price: nil, images: nil, option_groups: nil, raw_response: nil)
30
+ 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]), category_id: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
31
+ def initialize(title: nil, description: nil, base_price: nil, images: nil, option_groups: nil, category_id: nil, raw_response: nil)
30
32
  @title = title
31
33
  @description = description
32
34
  @base_price = base_price
33
35
  @images = images
34
36
  @option_groups = option_groups
37
+ @category_id = category_id
35
38
  @raw_response = raw_response
36
39
  end
37
40
 
@@ -43,6 +46,7 @@ module Moov
43
46
  return false unless @base_price == other.base_price
44
47
  return false unless @images == other.images
45
48
  return false unless @option_groups == other.option_groups
49
+ return false unless @category_id == other.category_id
46
50
  return false unless @raw_response == other.raw_response
47
51
  true
48
52
  end
@@ -18,6 +18,8 @@ class Moov::Models::Errors::ProductRequestValidationError
18
18
  def images=(str_); end
19
19
  def option_groups(); end
20
20
  def option_groups=(str_); end
21
+ def category_id(); end
22
+ def category_id=(str_); end
21
23
  def raw_response(); end
22
24
  def raw_response=(str_); end
23
25
  end
@@ -0,0 +1,32 @@
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
+ class DeleteAvatarRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The accountID to delete the avatar for. Only accountID values are accepted for writes.
16
+ field :unique_id, ::String, { 'path_param': { 'field_name': 'uniqueID', 'style': 'simple', 'explode': false } }
17
+
18
+ sig { params(unique_id: ::String).void }
19
+ def initialize(unique_id:)
20
+ @unique_id = unique_id
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @unique_id == other.unique_id
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::DeleteAvatarRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DeleteAvatarRequest
11
+ def unique_id(); end
12
+ def unique_id=(str_); end
13
+ end
@@ -0,0 +1,44 @@
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
+ class DeleteAvatarResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # HTTP response content type for this operation
16
+ field :content_type, ::String
17
+ # HTTP response status code for this operation
18
+ field :status_code, ::Integer
19
+ # Raw HTTP response; suitable for custom response parsing
20
+ field :raw_response, ::Faraday::Response
21
+
22
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
23
+
24
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]]).void }
25
+ def initialize(content_type:, status_code:, raw_response:, headers:)
26
+ @content_type = content_type
27
+ @status_code = status_code
28
+ @raw_response = raw_response
29
+ @headers = headers
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @content_type == other.content_type
36
+ return false unless @status_code == other.status_code
37
+ return false unless @raw_response == other.raw_response
38
+ return false unless @headers == other.headers
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::DeleteAvatarResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DeleteAvatarResponse
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,36 @@
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
+ class DeleteAvatarSecurity
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :basic_auth, Crystalline::Nilable.new(Models::Components::SchemeBasicAuth), { 'security': { 'scheme': true, 'type': 'http', 'sub_type': 'basic' } }
17
+
18
+ field :o_auth2_auth, Crystalline::Nilable.new(Models::Components::SchemeOAuth2Auth), { 'security': { 'scheme': true, 'type': 'oauth2', 'sub_type': 'client_credentials' } }
19
+
20
+ sig { params(basic_auth: T.nilable(Models::Components::SchemeBasicAuth), o_auth2_auth: T.nilable(Models::Components::SchemeOAuth2Auth)).void }
21
+ def initialize(basic_auth: nil, o_auth2_auth: nil)
22
+ @basic_auth = basic_auth
23
+ @o_auth2_auth = o_auth2_auth
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @basic_auth == other.basic_auth
30
+ return false unless @o_auth2_auth == other.o_auth2_auth
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::DeleteAvatarSecurity
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::DeleteAvatarSecurity
11
+ def basic_auth(); end
12
+ def basic_auth=(str_); end
13
+ def o_auth2_auth(); end
14
+ def o_auth2_auth=(str_); end
15
+ end
@@ -0,0 +1,48 @@
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
+ class ListProductCategoriesResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # HTTP response content type for this operation
16
+ field :content_type, ::String
17
+ # HTTP response status code for this operation
18
+ field :status_code, ::Integer
19
+ # Raw HTTP response; suitable for custom response parsing
20
+ field :raw_response, ::Faraday::Response
21
+
22
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
23
+ # The request completed successfully.
24
+ field :product_categories, Crystalline::Nilable.new(Models::Components::ProductCategories)
25
+
26
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], product_categories: T.nilable(Models::Components::ProductCategories)).void }
27
+ def initialize(content_type:, status_code:, raw_response:, headers:, product_categories: nil)
28
+ @content_type = content_type
29
+ @status_code = status_code
30
+ @raw_response = raw_response
31
+ @headers = headers
32
+ @product_categories = product_categories
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @content_type == other.content_type
39
+ return false unless @status_code == other.status_code
40
+ return false unless @raw_response == other.raw_response
41
+ return false unless @headers == other.headers
42
+ return false unless @product_categories == other.product_categories
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end