dub 0.12.17 → 0.13.0

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 (117) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -1
  3. data/lib/open_api_sdk/commissions.rb +1 -0
  4. data/lib/open_api_sdk/discount_codes.rb +1 -1
  5. data/lib/open_api_sdk/dub.rb +2 -2
  6. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rb +6 -2
  7. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rbi +2 -0
  8. data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rb +1 -0
  9. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_requestbody.rb → approveprogramapplication_requestbody.rb} +7 -3
  10. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_requestbody.rbi → approveprogramapplication_requestbody.rbi} +4 -2
  11. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_responsebody.rb → approveprogramapplication_responsebody.rb} +1 -1
  12. data/lib/open_api_sdk/models/operations/{approvepartnerapplication_responsebody.rbi → approveprogramapplication_responsebody.rbi} +2 -2
  13. data/lib/open_api_sdk/models/operations/creatediscountcode_requestbody.rb +1 -1
  14. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +2 -2
  15. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +6 -2
  16. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +2 -0
  17. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +2 -2
  18. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +1 -1
  19. data/lib/open_api_sdk/models/operations/createreferralsembedtoken_linkprops.rb +2 -2
  20. data/lib/open_api_sdk/models/operations/data.rb +1 -1
  21. data/lib/open_api_sdk/models/operations/getcustomers_request.rb +1 -1
  22. data/lib/open_api_sdk/models/operations/linkprops.rb +2 -2
  23. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rb +1 -0
  24. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rb +6 -2
  25. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rbi +2 -0
  26. data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rb +1 -0
  27. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_status.rb +25 -0
  28. data/lib/open_api_sdk/models/operations/listcommissions_queryparam_status.rbi +11 -0
  29. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +7 -3
  30. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  31. data/lib/open_api_sdk/models/operations/listcommissions_responsebody.rb +1 -1
  32. data/lib/open_api_sdk/models/operations/listdiscountcodes_request.rb +6 -2
  33. data/lib/open_api_sdk/models/operations/listdiscountcodes_request.rbi +2 -0
  34. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +6 -2
  35. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +2 -0
  36. data/lib/open_api_sdk/models/operations/listprogramapplications_defaultpayoutmethod.rb +21 -0
  37. data/lib/open_api_sdk/models/operations/listprogramapplications_defaultpayoutmethod.rbi +11 -0
  38. data/lib/open_api_sdk/models/operations/listprogramapplications_networkstatus.rb +22 -0
  39. data/lib/open_api_sdk/models/operations/listprogramapplications_networkstatus.rbi +11 -0
  40. data/lib/open_api_sdk/models/operations/{listpartnerapplications_partner.rb → listprogramapplications_partner.rb} +20 -4
  41. data/lib/open_api_sdk/models/operations/{listpartnerapplications_partner.rbi → listprogramapplications_partner.rbi} +10 -2
  42. data/lib/open_api_sdk/models/operations/listprogramapplications_queryparam_sortorder.rb +19 -0
  43. data/lib/open_api_sdk/models/operations/listprogramapplications_queryparam_sortorder.rbi +11 -0
  44. data/lib/open_api_sdk/models/operations/{listpartnerapplications_request.rb → listprogramapplications_request.rb} +15 -3
  45. data/lib/open_api_sdk/models/operations/{listpartnerapplications_request.rbi → listprogramapplications_request.rbi} +8 -2
  46. data/lib/open_api_sdk/models/operations/{listpartnerapplications_responsebody.rb → listprogramapplications_responsebody.rb} +3 -3
  47. data/lib/open_api_sdk/models/operations/{listpartnerapplications_responsebody.rbi → listprogramapplications_responsebody.rbi} +2 -2
  48. data/lib/open_api_sdk/models/operations/{listpartnerapplications_status.rb → listprogramapplications_status.rb} +2 -2
  49. data/lib/open_api_sdk/models/operations/listprogramapplications_status.rbi +11 -0
  50. data/lib/open_api_sdk/models/operations/listprogramapplications_type.rb +23 -0
  51. data/lib/open_api_sdk/models/operations/listprogramapplications_type.rbi +11 -0
  52. data/lib/open_api_sdk/models/operations/platforms.rb +40 -0
  53. data/lib/open_api_sdk/models/operations/platforms.rbi +17 -0
  54. data/lib/open_api_sdk/models/operations/queryparam_status.rb +3 -8
  55. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rb +6 -2
  56. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rbi +2 -0
  57. data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rb +1 -0
  58. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_requestbody.rb → rejectprogramapplication_requestbody.rb} +1 -1
  59. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_requestbody.rbi → rejectprogramapplication_requestbody.rbi} +2 -2
  60. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_responsebody.rb → rejectprogramapplication_responsebody.rb} +1 -1
  61. data/lib/open_api_sdk/models/operations/{rejectpartnerapplication_responsebody.rbi → rejectprogramapplication_responsebody.rbi} +2 -2
  62. data/lib/open_api_sdk/models/operations/requestbody.rb +2 -2
  63. data/lib/open_api_sdk/models/operations/requestbody_3.rb +13 -7
  64. data/lib/open_api_sdk/models/operations/requestbody_3.rbi +4 -2
  65. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport.rb +27 -0
  66. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport.rbi +11 -0
  67. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport_1.rb +18 -0
  68. data/lib/open_api_sdk/models/operations/stripeinvoicestoimport_1.rbi +11 -0
  69. data/lib/open_api_sdk/models/operations/updatecommission_responsebody.rb +1 -1
  70. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +6 -2
  71. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rbi +2 -0
  72. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +2 -2
  73. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +2 -2
  74. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +2 -2
  75. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +1 -1
  76. data/lib/open_api_sdk/models/operations.rb +16 -8
  77. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rb +1 -1
  78. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +6 -2
  79. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +2 -0
  80. data/lib/open_api_sdk/models/shared/platforms.rb +40 -0
  81. data/lib/open_api_sdk/models/shared/platforms.rbi +17 -0
  82. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent.rb +44 -0
  83. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent.rbi +19 -0
  84. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_applicationformdata.rb +36 -0
  85. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_applicationformdata.rbi +15 -0
  86. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_data.rb +44 -0
  87. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_data.rbi +19 -0
  88. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_defaultpayoutmethod.rb +21 -0
  89. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_defaultpayoutmethod.rbi +11 -0
  90. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_event.rb +18 -0
  91. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_event.rbi +11 -0
  92. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_networkstatus.rb +22 -0
  93. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_networkstatus.rbi +11 -0
  94. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_partner.rb +104 -0
  95. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_partner.rbi +49 -0
  96. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_status.rb +25 -0
  97. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_status.rbi +11 -0
  98. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_type.rb +23 -0
  99. data/lib/open_api_sdk/models/shared/programapplicationcreatedevent_type.rbi +11 -0
  100. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent.rb → programapplicationsubmittedevent.rb} +7 -5
  101. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent.rbi → programapplicationsubmittedevent.rbi} +2 -2
  102. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_data.rb → programapplicationsubmittedevent_data.rb} +3 -3
  103. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_data.rbi → programapplicationsubmittedevent_data.rbi} +2 -2
  104. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_event.rb → programapplicationsubmittedevent_event.rb} +1 -1
  105. data/lib/open_api_sdk/models/shared/programapplicationsubmittedevent_event.rbi +11 -0
  106. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_partner.rb → programapplicationsubmittedevent_partner.rb} +3 -3
  107. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_partner.rbi → programapplicationsubmittedevent_partner.rbi} +2 -2
  108. data/lib/open_api_sdk/models/shared/{partnerapplicationsubmittedevent_status.rb → programapplicationsubmittedevent_status.rb} +2 -2
  109. data/lib/open_api_sdk/models/shared/programapplicationsubmittedevent_status.rbi +11 -0
  110. data/lib/open_api_sdk/models/shared.rb +15 -5
  111. data/lib/open_api_sdk/{partner_applications.rb → program_applications.rb} +16 -16
  112. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  113. data/lib/open_api_sdk/utils/utils.rb +6 -2
  114. metadata +65 -29
  115. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rbi +0 -11
  116. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_event.rbi +0 -11
  117. data/lib/open_api_sdk/models/shared/partnerapplicationsubmittedevent_status.rbi +0 -11
@@ -24,10 +24,16 @@ module OpenApiSDK
24
24
  field :link_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkId') } }
25
25
  # The partner discount code to resolve the associated link. Use this when the link ID is unknown. Cannot be provided together with `linkId`.
26
26
  field :discount_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('discountCode') } }
27
- # Only used when `importStripeInvoices` is `false`. The date of the manual sale event. Defaults to the current date and time if not provided.
27
+ # Import paid Stripe invoices for the customer and create a commission for each. Pass `all` to import every unimported, paid invoice, or an array of Stripe invoice IDs to import only those invoices. Refunded invoices are not imported. When not provided, create a single manual sale event using `sale.amount`
28
+ field :stripe_invoices_to_import, Crystalline::Nilable.new(Crystalline::Union.new(Models::Operations::StripeInvoicesToImport1, Crystalline::Array.new(::String))), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeInvoicesToImport') } }
29
+ # Only used when `stripeInvoicesToImport` is not provided. The date of the manual sale event. Defaults to the current date and time if not provided.
28
30
  field :date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('date') } }
29
31
  # The sale event object to associate the commission with.
30
32
  field :sale, Crystalline::Nilable.new(Models::Operations::Sale), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sale') } }
33
+ # Deprecated: Use `stripeInvoicesToImport: all` instead.
34
+ #
35
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
36
+ field :import_stripe_invoices, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('importStripeInvoices') } }
31
37
  # Deprecated: Use `date` instead.
32
38
  #
33
39
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
@@ -44,24 +50,23 @@ module OpenApiSDK
44
50
  #
45
51
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
46
52
  field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('productId') } }
47
- # When `true`, import all unimported paid Stripe invoices for the customer and create a commission for each. When `false`, create a single manual sale event using `sale.amount` (or deprecated `saleAmount`).
48
- field :import_stripe_invoices, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('importStripeInvoices') } }
49
53
 
50
- sig { params(type: Models::Operations::CreateCommissionRequestBodyCommissionsType, partner_id: ::String, customer_id: T.nilable(::String), customer: T.nilable(Models::Operations::RequestBodyCustomer), link_id: T.nilable(::String), discount_code: T.nilable(::String), date: T.nilable(::String), sale: T.nilable(Models::Operations::Sale), sale_event_date: T.nilable(::String), sale_amount: T.nilable(::Float), invoice_id: T.nilable(::String), product_id: T.nilable(::String), import_stripe_invoices: T.nilable(T::Boolean)).void }
51
- def initialize(type:, partner_id:, customer_id: nil, customer: nil, link_id: nil, discount_code: nil, date: nil, sale: nil, sale_event_date: nil, sale_amount: nil, invoice_id: nil, product_id: nil, import_stripe_invoices: false)
54
+ sig { params(type: Models::Operations::CreateCommissionRequestBodyCommissionsType, partner_id: ::String, customer_id: T.nilable(::String), customer: T.nilable(Models::Operations::RequestBodyCustomer), link_id: T.nilable(::String), discount_code: T.nilable(::String), stripe_invoices_to_import: T.nilable(T.any(Models::Operations::StripeInvoicesToImport1, T::Array[::String])), date: T.nilable(::String), sale: T.nilable(Models::Operations::Sale), import_stripe_invoices: T.nilable(T::Boolean), sale_event_date: T.nilable(::String), sale_amount: T.nilable(::Float), invoice_id: T.nilable(::String), product_id: T.nilable(::String)).void }
55
+ def initialize(type:, partner_id:, customer_id: nil, customer: nil, link_id: nil, discount_code: nil, stripe_invoices_to_import: nil, date: nil, sale: nil, import_stripe_invoices: nil, sale_event_date: nil, sale_amount: nil, invoice_id: nil, product_id: nil)
52
56
  @type = type
53
57
  @partner_id = partner_id
54
58
  @customer_id = customer_id
55
59
  @customer = customer
56
60
  @link_id = link_id
57
61
  @discount_code = discount_code
62
+ @stripe_invoices_to_import = stripe_invoices_to_import
58
63
  @date = date
59
64
  @sale = sale
65
+ @import_stripe_invoices = import_stripe_invoices
60
66
  @sale_event_date = sale_event_date
61
67
  @sale_amount = sale_amount
62
68
  @invoice_id = invoice_id
63
69
  @product_id = product_id
64
- @import_stripe_invoices = import_stripe_invoices
65
70
  end
66
71
 
67
72
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -73,13 +78,14 @@ module OpenApiSDK
73
78
  return false unless @customer == other.customer
74
79
  return false unless @link_id == other.link_id
75
80
  return false unless @discount_code == other.discount_code
81
+ return false unless @stripe_invoices_to_import == other.stripe_invoices_to_import
76
82
  return false unless @date == other.date
77
83
  return false unless @sale == other.sale
84
+ return false unless @import_stripe_invoices == other.import_stripe_invoices
78
85
  return false unless @sale_event_date == other.sale_event_date
79
86
  return false unless @sale_amount == other.sale_amount
80
87
  return false unless @invoice_id == other.invoice_id
81
88
  return false unless @product_id == other.product_id
82
- return false unless @import_stripe_invoices == other.import_stripe_invoices
83
89
  true
84
90
  end
85
91
  end
@@ -20,10 +20,14 @@ class OpenApiSDK::Models::Operations::RequestBody3
20
20
  def link_id=(str_); end
21
21
  def discount_code(); end
22
22
  def discount_code=(str_); end
23
+ def stripe_invoices_to_import(); end
24
+ def stripe_invoices_to_import=(str_); end
23
25
  def date(); end
24
26
  def date=(str_); end
25
27
  def sale(); end
26
28
  def sale=(str_); end
29
+ def import_stripe_invoices(); end
30
+ def import_stripe_invoices=(str_); end
27
31
  def sale_event_date(); end
28
32
  def sale_event_date=(str_); end
29
33
  def sale_amount(); end
@@ -32,6 +36,4 @@ class OpenApiSDK::Models::Operations::RequestBody3
32
36
  def invoice_id=(str_); end
33
37
  def product_id(); end
34
38
  def product_id=(str_); end
35
- def import_stripe_invoices(); end
36
- def import_stripe_invoices=(str_); end
37
39
  end
@@ -0,0 +1,27 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+ # Import paid Stripe invoices for the customer and create a commission for each. Pass `all` to import every unimported, paid invoice, or an array of Stripe invoice IDs to import only those invoices. Refunded invoices are not imported. When not provided, create a single manual sale event using `sale.amount`
11
+ class StripeInvoicesToImport
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+
17
+ def initialize; end
18
+
19
+ sig { params(other: T.untyped).returns(T::Boolean) }
20
+ def ==(other)
21
+ return false unless other.is_a? self.class
22
+ true
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::StripeInvoicesToImport
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::StripeInvoicesToImport
11
+ end
@@ -0,0 +1,18 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ class StripeInvoicesToImport1 < T::Enum
12
+ enums do
13
+ ALL = new('all')
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::StripeInvoicesToImport1
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::StripeInvoicesToImport1
11
+ end
@@ -36,7 +36,7 @@ module OpenApiSDK
36
36
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId'), required: true } }
37
37
  # An optional description of the commission.
38
38
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
39
- # User-provided metadata from the associated lead or sale event (`lead.metadata` / `sale.metadata`).
39
+ # Metadata from the associated lead or sale event (`lead.metadata` / `sale.metadata`), or from Stripe webhook metadata.
40
40
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata'), required: true } }
41
41
  # The date the commission was paid out to the partner. Null if not paid yet.
42
42
  field :paid_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('paidAt'), required: true } }
@@ -24,15 +24,18 @@ module OpenApiSDK
24
24
  field :avatar, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('avatar') } }
25
25
  # The customer's Stripe customer ID. This is useful for attributing recurring sale events to the partner who referred the customer.
26
26
  field :stripe_customer_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeCustomerId') } }
27
+ # The date the customer canceled their subscription. Set to a timestamp to mark the subscription as canceled, or `null` to clear it (e.g. if they resubscribe).
28
+ field :subscription_canceled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('subscriptionCanceledAt') } }
27
29
 
28
- sig { params(external_id: T.nilable(::String), country: T.nilable(::String), email: T.nilable(::String), name: T.nilable(::String), avatar: T.nilable(::String), stripe_customer_id: T.nilable(::String)).void }
29
- def initialize(external_id: nil, country: nil, email: nil, name: nil, avatar: nil, stripe_customer_id: nil)
30
+ sig { params(external_id: T.nilable(::String), country: T.nilable(::String), email: T.nilable(::String), name: T.nilable(::String), avatar: T.nilable(::String), stripe_customer_id: T.nilable(::String), subscription_canceled_at: T.nilable(::String)).void }
31
+ def initialize(external_id: nil, country: nil, email: nil, name: nil, avatar: nil, stripe_customer_id: nil, subscription_canceled_at: nil)
30
32
  @external_id = external_id
31
33
  @country = country
32
34
  @email = email
33
35
  @name = name
34
36
  @avatar = avatar
35
37
  @stripe_customer_id = stripe_customer_id
38
+ @subscription_canceled_at = subscription_canceled_at
36
39
  end
37
40
 
38
41
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -44,6 +47,7 @@ module OpenApiSDK
44
47
  return false unless @name == other.name
45
48
  return false unless @avatar == other.avatar
46
49
  return false unless @stripe_customer_id == other.stripe_customer_id
50
+ return false unless @subscription_canceled_at == other.subscription_canceled_at
47
51
  true
48
52
  end
49
53
  end
@@ -20,4 +20,6 @@ class OpenApiSDK::Models::Operations::UpdateCustomerRequestBody
20
20
  def avatar=(str_); end
21
21
  def stripe_customer_id(); end
22
22
  def stripe_customer_id=(str_); end
23
+ def subscription_canceled_at(); end
24
+ def subscription_canceled_at=(str_); end
23
25
  end
@@ -36,9 +36,9 @@ module OpenApiSDK
36
36
  #
37
37
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
38
38
  field :public_stats, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats') } }
39
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
39
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
40
40
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
41
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
41
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
42
42
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
43
43
  # The ID of the program the short link is associated with.
44
44
  field :program_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
@@ -40,9 +40,9 @@ module OpenApiSDK
40
40
  #
41
41
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
42
42
  field :public_stats, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('publicStats') } }
43
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
43
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
44
44
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
45
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
45
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
46
46
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
47
47
  # The ID of the program the short link is associated with.
48
48
  field :program_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
@@ -26,9 +26,9 @@ module OpenApiSDK
26
26
  field :rewrite, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewrite') } }
27
27
  # Allow search engines to index your short link. Defaults to `false` if not provided. Learn more: https://d.to/noindex
28
28
  field :do_index, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('doIndex') } }
29
- # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
29
+ # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace. Pass `null` or an empty string to remove it.
30
30
  field :external_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
31
- # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant.
31
+ # The ID of the tenant that created the link inside your system. If set, it can be used to fetch all links for a tenant. Pass `null` or an empty string to remove it.
32
32
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId') } }
33
33
  # The comments for the short link.
34
34
  field :comments, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comments') } }
@@ -12,7 +12,7 @@ module OpenApiSDK
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
- # The URL to upsert for. Will throw an error if the domain doesn't match the program's default URL domain.
15
+ # The URL to upsert for.
16
16
  field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
17
17
  # The short link slug. If not provided, a random 7-character slug will be generated.
18
18
  field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
@@ -25,8 +25,8 @@ module OpenApiSDK
25
25
  autoload :ApproveBountySubmissionRequestBody, 'open_api_sdk/models/operations/approvebountysubmission_requestbody.rb'
26
26
  autoload :ApproveBountySubmissionResponseBody, 'open_api_sdk/models/operations/approvebountysubmission_responsebody.rb'
27
27
  autoload :ApproveBountySubmissionStatus, 'open_api_sdk/models/operations/approvebountysubmission_status.rb'
28
- autoload :ApprovePartnerApplicationRequestBody, 'open_api_sdk/models/operations/approvepartnerapplication_requestbody.rb'
29
- autoload :ApprovePartnerApplicationResponseBody, 'open_api_sdk/models/operations/approvepartnerapplication_responsebody.rb'
28
+ autoload :ApproveProgramApplicationRequestBody, 'open_api_sdk/models/operations/approveprogramapplication_requestbody.rb'
29
+ autoload :ApproveProgramApplicationResponseBody, 'open_api_sdk/models/operations/approveprogramapplication_responsebody.rb'
30
30
  autoload :BanPartnerRequestBody, 'open_api_sdk/models/operations/banpartner_requestbody.rb'
31
31
  autoload :BanPartnerResponseBody, 'open_api_sdk/models/operations/banpartner_responsebody.rb'
32
32
  autoload :BannedReason, 'open_api_sdk/models/operations/bannedreason.rb'
@@ -173,6 +173,7 @@ module OpenApiSDK
173
173
  autoload :ListCommissionsQueryParamInterval, 'open_api_sdk/models/operations/listcommissions_queryparam_interval.rb'
174
174
  autoload :ListCommissionsQueryParamSortBy, 'open_api_sdk/models/operations/listcommissions_queryparam_sortby.rb'
175
175
  autoload :ListCommissionsQueryParamSortOrder, 'open_api_sdk/models/operations/listcommissions_queryparam_sortorder.rb'
176
+ autoload :ListCommissionsQueryParamStatus, 'open_api_sdk/models/operations/listcommissions_queryparam_status.rb'
176
177
  autoload :ListCommissionsRequest, 'open_api_sdk/models/operations/listcommissions_request.rb'
177
178
  autoload :ListCommissionsResponse, 'open_api_sdk/models/operations/listcommissions_response.rb'
178
179
  autoload :ListCommissionsResponseBody, 'open_api_sdk/models/operations/listcommissions_responsebody.rb'
@@ -193,10 +194,6 @@ module OpenApiSDK
193
194
  autoload :ListEventsResponseBodyLink, 'open_api_sdk/models/operations/listevents_responsebody_link.rb'
194
195
  autoload :ListEventsResponseBodyTestVariants, 'open_api_sdk/models/operations/listevents_responsebody_testvariants.rb'
195
196
  autoload :ListFoldersRequest, 'open_api_sdk/models/operations/listfolders_request.rb'
196
- autoload :ListPartnerApplicationsPartner, 'open_api_sdk/models/operations/listpartnerapplications_partner.rb'
197
- autoload :ListPartnerApplicationsRequest, 'open_api_sdk/models/operations/listpartnerapplications_request.rb'
198
- autoload :ListPartnerApplicationsResponseBody, 'open_api_sdk/models/operations/listpartnerapplications_responsebody.rb'
199
- autoload :ListPartnerApplicationsStatus, 'open_api_sdk/models/operations/listpartnerapplications_status.rb'
200
197
  autoload :ListPartnersFieldsPartnersResponse200ApplicationJSONResponseBodyReferralFormDataType, 'open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_responsebody_re_4d72ad.rb'
201
198
  autoload :ListPartnersFieldsPartnersResponse200ApplicationJSONResponseBodyType, 'open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_responsebody_type.rb'
202
199
  autoload :ListPartnersFieldsPartnersResponse200ApplicationJSONType, 'open_api_sdk/models/operations/listpartners_fields_partners_response_200_applicationjson_type.rb'
@@ -220,6 +217,14 @@ module OpenApiSDK
220
217
  autoload :ListPayoutsRequest, 'open_api_sdk/models/operations/listpayouts_request.rb'
221
218
  autoload :ListPayoutsResponseBody, 'open_api_sdk/models/operations/listpayouts_responsebody.rb'
222
219
  autoload :ListPayoutsStatus, 'open_api_sdk/models/operations/listpayouts_status.rb'
220
+ autoload :ListProgramApplicationsDefaultPayoutMethod, 'open_api_sdk/models/operations/listprogramapplications_defaultpayoutmethod.rb'
221
+ autoload :ListProgramApplicationsNetworkStatus, 'open_api_sdk/models/operations/listprogramapplications_networkstatus.rb'
222
+ autoload :ListProgramApplicationsPartner, 'open_api_sdk/models/operations/listprogramapplications_partner.rb'
223
+ autoload :ListProgramApplicationsQueryParamSortOrder, 'open_api_sdk/models/operations/listprogramapplications_queryparam_sortorder.rb'
224
+ autoload :ListProgramApplicationsRequest, 'open_api_sdk/models/operations/listprogramapplications_request.rb'
225
+ autoload :ListProgramApplicationsResponseBody, 'open_api_sdk/models/operations/listprogramapplications_responsebody.rb'
226
+ autoload :ListProgramApplicationsStatus, 'open_api_sdk/models/operations/listprogramapplications_status.rb'
227
+ autoload :ListProgramApplicationsType, 'open_api_sdk/models/operations/listprogramapplications_type.rb'
223
228
  autoload :Method, 'open_api_sdk/models/operations/method.rb'
224
229
  autoload :Mode, 'open_api_sdk/models/operations/mode.rb'
225
230
  autoload :NetworkStatus, 'open_api_sdk/models/operations/networkstatus.rb'
@@ -227,6 +232,7 @@ module OpenApiSDK
227
232
  autoload :Order, 'open_api_sdk/models/operations/order.rb'
228
233
  autoload :Partner, 'open_api_sdk/models/operations/partner.rb'
229
234
  autoload :PaymentProcessor, 'open_api_sdk/models/operations/paymentprocessor.rb'
235
+ autoload :Platforms, 'open_api_sdk/models/operations/platforms.rb'
230
236
  autoload :Prices, 'open_api_sdk/models/operations/prices.rb'
231
237
  autoload :QueryParamEvent, 'open_api_sdk/models/operations/queryparam_event.rb'
232
238
  autoload :QueryParamGroupBy, 'open_api_sdk/models/operations/queryparam_groupby.rb'
@@ -248,8 +254,8 @@ module OpenApiSDK
248
254
  autoload :RejectBountySubmissionRequestBody, 'open_api_sdk/models/operations/rejectbountysubmission_requestbody.rb'
249
255
  autoload :RejectBountySubmissionResponseBody, 'open_api_sdk/models/operations/rejectbountysubmission_responsebody.rb'
250
256
  autoload :RejectBountySubmissionStatus, 'open_api_sdk/models/operations/rejectbountysubmission_status.rb'
251
- autoload :RejectPartnerApplicationRequestBody, 'open_api_sdk/models/operations/rejectpartnerapplication_requestbody.rb'
252
- autoload :RejectPartnerApplicationResponseBody, 'open_api_sdk/models/operations/rejectpartnerapplication_responsebody.rb'
257
+ autoload :RejectProgramApplicationRequestBody, 'open_api_sdk/models/operations/rejectprogramapplication_requestbody.rb'
258
+ autoload :RejectProgramApplicationResponseBody, 'open_api_sdk/models/operations/rejectprogramapplication_responsebody.rb'
253
259
  autoload :RejectionReason, 'open_api_sdk/models/operations/rejectionreason.rb'
254
260
  autoload :RequestBody, 'open_api_sdk/models/operations/requestbody.rb'
255
261
  autoload :RequestBody1, 'open_api_sdk/models/operations/requestbody_1.rb'
@@ -279,6 +285,8 @@ module OpenApiSDK
279
285
  autoload :SortBy, 'open_api_sdk/models/operations/sortby.rb'
280
286
  autoload :SortOrder, 'open_api_sdk/models/operations/sortorder.rb'
281
287
  autoload :Status, 'open_api_sdk/models/operations/status.rb'
288
+ autoload :StripeInvoicesToImport, 'open_api_sdk/models/operations/stripeinvoicestoimport.rb'
289
+ autoload :StripeInvoicesToImport1, 'open_api_sdk/models/operations/stripeinvoicestoimport_1.rb'
282
290
  autoload :TagIds, 'open_api_sdk/models/operations/tagids.rb'
283
291
  autoload :TagNames, 'open_api_sdk/models/operations/tagnames.rb'
284
292
  autoload :Tags, 'open_api_sdk/models/operations/tags.rb'
@@ -36,7 +36,7 @@ module OpenApiSDK
36
36
  field :invoice_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId'), required: true } }
37
37
  # An optional description of the commission.
38
38
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
39
- # User-provided metadata from the associated lead or sale event (`lead.metadata` / `sale.metadata`).
39
+ # Metadata from the associated lead or sale event (`lead.metadata` / `sale.metadata`), or from Stripe webhook metadata.
40
40
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata'), required: true } }
41
41
 
42
42
  field :link, Crystalline::Nilable.new(Models::Shared::CommissionCreatedEventLink), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('link'), required: true } }
@@ -67,6 +67,8 @@ module OpenApiSDK
67
67
 
68
68
  field :referral_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('referralRewardId') } }
69
69
 
70
+ field :custom_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customRewardId') } }
71
+
70
72
  field :discount_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('discountId') } }
71
73
  # If the partner submitted an application to join the program, this is the ID of the application.
72
74
  field :application_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationId') } }
@@ -119,8 +121,8 @@ module OpenApiSDK
119
121
  # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
120
122
  field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt') } }
121
123
 
122
- sig { params(id: ::String, name: ::String, network_status: Models::Shared::NetworkStatus, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Shared::Status, username: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), company_name: T.nilable(::String), default_payout_method: T.nilable(Models::Shared::DefaultPayoutMethod), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), identity_verified_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Shared::Links]), tags: T.nilable(T::Array[Models::Shared::Tags]), description: T.nilable(::String), group_id: T.nilable(::String), total_commissions: T.nilable(::Float), click_reward_id: T.nilable(::String), lead_reward_id: T.nilable(::String), sale_reward_id: T.nilable(::String), referral_reward_id: T.nilable(::String), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Shared::BannedReason), referral_form_data: T.nilable(Models::Shared::ReferralFormData), application: T.nilable(Models::Shared::Application), total_clicks: T.nilable(::Float), total_leads: T.nilable(::Float), total_conversions: T.nilable(::Float), total_sales: T.nilable(::Float), total_sale_amount: T.nilable(::Float), net_revenue: T.nilable(::Float), earnings_per_click: T.nilable(::Float), average_lifetime_value: T.nilable(::Float), click_to_lead_rate: T.nilable(::Float), click_to_conversion_rate: T.nilable(::Float), lead_to_conversion_rate: T.nilable(::Float), return_on_ad_spend: T.nilable(::Float), website: T.nilable(::String), youtube: T.nilable(::String), twitter: T.nilable(::String), linkedin: T.nilable(::String), instagram: T.nilable(::String), tiktok: T.nilable(::String), trusted_at: T.nilable(::String)).void }
123
- def initialize(id:, name:, network_status:, program_id:, partner_id:, created_at:, status:, username: nil, email: nil, image: nil, country: nil, company_name: nil, default_payout_method: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, identity_verified_at: nil, tenant_id: nil, links: nil, tags: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, referral_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil, referral_form_data: nil, application: nil, total_clicks: 0.0, total_leads: 0.0, total_conversions: 0.0, total_sales: 0.0, total_sale_amount: 0.0, net_revenue: 0.0, earnings_per_click: nil, average_lifetime_value: nil, click_to_lead_rate: nil, click_to_conversion_rate: nil, lead_to_conversion_rate: nil, return_on_ad_spend: nil, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil, trusted_at: nil)
124
+ sig { params(id: ::String, name: ::String, network_status: Models::Shared::NetworkStatus, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Shared::Status, username: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), company_name: T.nilable(::String), default_payout_method: T.nilable(Models::Shared::DefaultPayoutMethod), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), identity_verified_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Shared::Links]), tags: T.nilable(T::Array[Models::Shared::Tags]), description: T.nilable(::String), group_id: T.nilable(::String), total_commissions: T.nilable(::Float), click_reward_id: T.nilable(::String), lead_reward_id: T.nilable(::String), sale_reward_id: T.nilable(::String), referral_reward_id: T.nilable(::String), custom_reward_id: T.nilable(::String), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Shared::BannedReason), referral_form_data: T.nilable(Models::Shared::ReferralFormData), application: T.nilable(Models::Shared::Application), total_clicks: T.nilable(::Float), total_leads: T.nilable(::Float), total_conversions: T.nilable(::Float), total_sales: T.nilable(::Float), total_sale_amount: T.nilable(::Float), net_revenue: T.nilable(::Float), earnings_per_click: T.nilable(::Float), average_lifetime_value: T.nilable(::Float), click_to_lead_rate: T.nilable(::Float), click_to_conversion_rate: T.nilable(::Float), lead_to_conversion_rate: T.nilable(::Float), return_on_ad_spend: T.nilable(::Float), website: T.nilable(::String), youtube: T.nilable(::String), twitter: T.nilable(::String), linkedin: T.nilable(::String), instagram: T.nilable(::String), tiktok: T.nilable(::String), trusted_at: T.nilable(::String)).void }
125
+ def initialize(id:, name:, network_status:, program_id:, partner_id:, created_at:, status:, username: nil, email: nil, image: nil, country: nil, company_name: nil, default_payout_method: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, identity_verified_at: nil, tenant_id: nil, links: nil, tags: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_reward_id: nil, referral_reward_id: nil, custom_reward_id: nil, discount_id: nil, application_id: nil, banned_at: nil, banned_reason: nil, referral_form_data: nil, application: nil, total_clicks: 0.0, total_leads: 0.0, total_conversions: 0.0, total_sales: 0.0, total_sale_amount: 0.0, net_revenue: 0.0, earnings_per_click: nil, average_lifetime_value: nil, click_to_lead_rate: nil, click_to_conversion_rate: nil, lead_to_conversion_rate: nil, return_on_ad_spend: nil, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil, trusted_at: nil)
124
126
  @id = id
125
127
  @name = name
126
128
  @network_status = network_status
@@ -148,6 +150,7 @@ module OpenApiSDK
148
150
  @lead_reward_id = lead_reward_id
149
151
  @sale_reward_id = sale_reward_id
150
152
  @referral_reward_id = referral_reward_id
153
+ @custom_reward_id = custom_reward_id
151
154
  @discount_id = discount_id
152
155
  @application_id = application_id
153
156
  @banned_at = banned_at
@@ -205,6 +208,7 @@ module OpenApiSDK
205
208
  return false unless @lead_reward_id == other.lead_reward_id
206
209
  return false unless @sale_reward_id == other.sale_reward_id
207
210
  return false unless @referral_reward_id == other.referral_reward_id
211
+ return false unless @custom_reward_id == other.custom_reward_id
208
212
  return false unless @discount_id == other.discount_id
209
213
  return false unless @application_id == other.application_id
210
214
  return false unless @banned_at == other.banned_at
@@ -62,6 +62,8 @@ class OpenApiSDK::Models::Shared::PartnerEnrolledEventData
62
62
  def sale_reward_id=(str_); end
63
63
  def referral_reward_id(); end
64
64
  def referral_reward_id=(str_); end
65
+ def custom_reward_id(); end
66
+ def custom_reward_id=(str_); end
65
67
  def discount_id(); end
66
68
  def discount_id=(str_); end
67
69
  def application_id(); 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 OpenApiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class Platforms
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :type, Models::Shared::ProgramApplicationCreatedEventType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Shared::ProgramApplicationCreatedEventType, false) } }
17
+
18
+ field :identifier, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('identifier'), required: true } }
19
+
20
+ field :verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('verifiedAt'), required: true } }
21
+
22
+ sig { params(type: Models::Shared::ProgramApplicationCreatedEventType, identifier: ::String, verified_at: T.nilable(::String)).void }
23
+ def initialize(type:, identifier:, verified_at: nil)
24
+ @type = type
25
+ @identifier = identifier
26
+ @verified_at = verified_at
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 @type == other.type
33
+ return false unless @identifier == other.identifier
34
+ return false unless @verified_at == other.verified_at
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 OpenApiSDK::Models::Shared::Platforms
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::Platforms
11
+ def type(); end
12
+ def type=(str_); end
13
+ def identifier(); end
14
+ def identifier=(str_); end
15
+ def verified_at(); end
16
+ def verified_at=(str_); end
17
+ 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 OpenApiSDK
8
+ module Models
9
+ module Shared
10
+ # Triggered when a partner submits an application to join a program.
11
+ class ProgramApplicationCreatedEvent
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
17
+
18
+ field :event, Models::Shared::ProgramApplicationCreatedEventEvent, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('event'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Shared::ProgramApplicationCreatedEventEvent, false) } }
19
+
20
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
21
+
22
+ field :data, Models::Shared::ProgramApplicationCreatedEventData, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('data'), required: true } }
23
+
24
+ sig { params(id: ::String, event: Models::Shared::ProgramApplicationCreatedEventEvent, created_at: ::String, data: Models::Shared::ProgramApplicationCreatedEventData).void }
25
+ def initialize(id:, event:, created_at:, data:)
26
+ @id = id
27
+ @event = event
28
+ @created_at = created_at
29
+ @data = data
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 @id == other.id
36
+ return false unless @event == other.event
37
+ return false unless @created_at == other.created_at
38
+ return false unless @data == other.data
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 OpenApiSDK::Models::Shared::ProgramApplicationCreatedEvent
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::ProgramApplicationCreatedEvent
11
+ def id(); end
12
+ def id=(str_); end
13
+ def event(); end
14
+ def event=(str_); end
15
+ def created_at(); end
16
+ def created_at=(str_); end
17
+ def data(); end
18
+ def data=(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 OpenApiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class ProgramApplicationCreatedEventApplicationFormData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :label, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('label'), required: true } }
17
+
18
+ field :value, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(label: ::String, value: T.nilable(::String)).void }
21
+ def initialize(label:, value: nil)
22
+ @label = label
23
+ @value = value
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 @label == other.label
30
+ return false unless @value == other.value
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 OpenApiSDK::Models::Shared::ProgramApplicationCreatedEventApplicationFormData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::ProgramApplicationCreatedEventApplicationFormData
11
+ def label(); end
12
+ def label=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ 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 OpenApiSDK
8
+ module Models
9
+ module Shared
10
+
11
+ class ProgramApplicationCreatedEventData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
17
+
18
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
19
+
20
+ field :partner, Models::Shared::ProgramApplicationCreatedEventPartner, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partner'), required: true } }
21
+
22
+ field :application_form_data, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::ProgramApplicationCreatedEventApplicationFormData)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationFormData'), required: true } }
23
+
24
+ sig { params(id: ::String, created_at: ::String, partner: Models::Shared::ProgramApplicationCreatedEventPartner, application_form_data: T.nilable(T::Array[Models::Shared::ProgramApplicationCreatedEventApplicationFormData])).void }
25
+ def initialize(id:, created_at:, partner:, application_form_data: nil)
26
+ @id = id
27
+ @created_at = created_at
28
+ @partner = partner
29
+ @application_form_data = application_form_data
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 @id == other.id
36
+ return false unless @created_at == other.created_at
37
+ return false unless @partner == other.partner
38
+ return false unless @application_form_data == other.application_form_data
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end