dub 0.12.11 → 0.12.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd1aee2d1e64835ebe0a7a2b848a214557bd2f69f3f38c7b9d04e2afab96e964
4
- data.tar.gz: a6c1f1591bb4344b1e7cc972420e447f547e1bff5f3cce72e2b949c9bb3b62d8
3
+ metadata.gz: f9d4e98b42c180855882da7c6000cc2c06c44fb1422d90fe41950232a2ec1f9c
4
+ data.tar.gz: 588e2f021f32850d9758d50b83f2d7e42d322f3ffdb412689574881394c0a93d
5
5
  SHA512:
6
- metadata.gz: '091dbbbdbaea09f62a24b972eb184bf6504364cf5216335c3e03fff5cfeeac43fa6ad927c13e9812debe7f755b6e1626a11fb1a6321907af32ddd7a9a5b10068'
7
- data.tar.gz: f448f2529e4c8fe09a434f6a1768b1166504b88c90e0919e2b00a51f67cde2c06abc382333c53458e22cac172f8cdf126118ad15659f0c0c64d3a877879f9353
6
+ metadata.gz: 94f66f9b73b45f5042d765a1a88cde80b68465f51609148e50d5c715639f0d1868b49ec6f6e0e88f0558478995609f4287c5d4fbaec52087eb6d3181fc1a9b2a
7
+ data.tar.gz: 9cb2de8b0b671f77226b60c3f17e59ad9d50aca3ad46f044b498693bdf12972e2f3468a5faef09ee91ff56b07d99044b50140dabfd4c5081d9309e7234090022
@@ -319,7 +319,7 @@ module OpenApiSDK
319
319
  sig { params(request: T.nilable(T.any(Models::Operations::RequestBody1, Models::Operations::RequestBody2, Models::Operations::RequestBody3)), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateCommissionResponseBody) }
320
320
  def create(request: nil, timeout_ms: nil, http_headers: nil)
321
321
  # create - Create commission
322
- # Create one or more commissions (custom, lead or sale) for a partner. Commission creation is processed asynchronously. Use the List Commissions endpoint or webhooks to be notified when the commission is created.
322
+ # Create one or more commissions (custom, lead or sale) for a partner. Custom commissions accept a negative `amount` to create a clawback; in that case `description` is required and may be a known clawback reason or any other string. Commission creation is processed asynchronously. Use the List Commissions endpoint or webhooks to be notified when the commission is created.
323
323
  url, params = @sdk_configuration.get_server_details
324
324
  base_url = Utils.template_url(url, params)
325
325
  url = "#{base_url}/commissions"
@@ -18,11 +18,12 @@ module OpenApiSDK
18
18
  field :type, Models::Operations::RequestBodyType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::RequestBodyType, false) } }
19
19
  # The ID of the partner to create the commission for.
20
20
  field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
21
- # The commission amount in cents.
21
+ # The commission amount in cents. Use a negative amount to create a clawback.
22
22
  field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount'), required: true } }
23
23
  # If not provided, the current date will be used.
24
24
  field :date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('date') } }
25
- # The description of the commission.
25
+ # The description of the commission. Required for clawbacks (negative `amount`).
26
+ # May be a known clawback reason (`order_canceled`, `fraud`, `terms_violation`, `tracking_error`, `payment_failed`, `ineligible_partner`, `duplicate_commission`) or an arbitrary string (max 190 characters).
26
27
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
27
28
 
28
29
  sig { params(type: Models::Operations::RequestBodyType, partner_id: ::String, amount: ::Float, date: T.nilable(::String), description: T.nilable(::String)).void }
@@ -0,0 +1,46 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # Generated under the AGPL-3.0-only license.
3
+ # SPDX-License-Identifier: AGPL-3.0-only
4
+
5
+ # typed: true
6
+ # frozen_string_literal: true
7
+
8
+
9
+ module OpenApiSDK
10
+ module Models
11
+ module Shared
12
+ # Triggered when two partner accounts are merged. Fired once per program the source partner was enrolled in.
13
+ class PartnerMergedEvent
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+
18
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
19
+
20
+ field :event, Models::Shared::PartnerMergedEventEvent, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('event'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Shared::PartnerMergedEventEvent, false) } }
21
+
22
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
23
+
24
+ field :data, Models::Shared::PartnerMergedEventData, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('data'), required: true } }
25
+
26
+ sig { params(id: ::String, event: Models::Shared::PartnerMergedEventEvent, created_at: ::String, data: Models::Shared::PartnerMergedEventData).void }
27
+ def initialize(id:, event:, created_at:, data:)
28
+ @id = id
29
+ @event = event
30
+ @created_at = created_at
31
+ @data = data
32
+ end
33
+
34
+ sig { params(other: T.untyped).returns(T::Boolean) }
35
+ def ==(other)
36
+ return false unless other.is_a? self.class
37
+ return false unless @id == other.id
38
+ return false unless @event == other.event
39
+ return false unless @created_at == other.created_at
40
+ return false unless @data == other.data
41
+ true
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerMergedEvent
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerMergedEvent
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,44 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # Generated under the AGPL-3.0-only license.
3
+ # SPDX-License-Identifier: AGPL-3.0-only
4
+
5
+ # typed: true
6
+ # frozen_string_literal: true
7
+
8
+
9
+ module OpenApiSDK
10
+ module Models
11
+ module Shared
12
+
13
+ class PartnerMergedEventData
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The source partner account that was merged away. Its enrollment in this program no longer exists; use `targetPartner.id` instead.
18
+ field :source_partner, Models::Shared::SourcePartner, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sourcePartner'), required: true } }
19
+ # The target partner account that the source account was merged into.
20
+ field :target_partner, Models::Shared::TargetPartner, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('targetPartner'), required: true } }
21
+ # Whether the target partner account was already enrolled in this program before the merge.
22
+ # If `true`, both partners were already enrolled in the program and the merge process will collapse the source account into the target account.
23
+ # If `false`, only the source partner account was enrolled in the program, which means the partner's ID in your program will be updated to the target partner's ID.
24
+ field :target_already_enrolled, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('targetAlreadyEnrolled'), required: true } }
25
+
26
+ sig { params(source_partner: Models::Shared::SourcePartner, target_partner: Models::Shared::TargetPartner, target_already_enrolled: T::Boolean).void }
27
+ def initialize(source_partner:, target_partner:, target_already_enrolled:)
28
+ @source_partner = source_partner
29
+ @target_partner = target_partner
30
+ @target_already_enrolled = target_already_enrolled
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 @source_partner == other.source_partner
37
+ return false unless @target_partner == other.target_partner
38
+ return false unless @target_already_enrolled == other.target_already_enrolled
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerMergedEventData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerMergedEventData
11
+ def source_partner(); end
12
+ def source_partner=(str_); end
13
+ def target_partner(); end
14
+ def target_partner=(str_); end
15
+ def target_already_enrolled(); end
16
+ def target_already_enrolled=(str_); end
17
+ end
@@ -0,0 +1,20 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # Generated under the AGPL-3.0-only license.
3
+ # SPDX-License-Identifier: AGPL-3.0-only
4
+
5
+ # typed: true
6
+ # frozen_string_literal: true
7
+
8
+
9
+ module OpenApiSDK
10
+ module Models
11
+ module Shared
12
+
13
+ class PartnerMergedEventEvent < T::Enum
14
+ enums do
15
+ PARTNER_MERGED = new('partner.merged')
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::PartnerMergedEventEvent
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::PartnerMergedEventEvent
11
+ end
@@ -0,0 +1,42 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # Generated under the AGPL-3.0-only license.
3
+ # SPDX-License-Identifier: AGPL-3.0-only
4
+
5
+ # typed: true
6
+ # frozen_string_literal: true
7
+
8
+
9
+ module OpenApiSDK
10
+ module Models
11
+ module Shared
12
+ # The source partner account that was merged away. Its enrollment in this program no longer exists; use `targetPartner.id` instead.
13
+ class SourcePartner
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The partner's unique ID on Dub.
18
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
19
+ # The partner's unique ID in your system
20
+ field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId'), required: true } }
21
+ # The partner's email address.
22
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
23
+
24
+ sig { params(id: ::String, tenant_id: T.nilable(::String), email: T.nilable(::String)).void }
25
+ def initialize(id:, tenant_id: nil, email: nil)
26
+ @id = id
27
+ @tenant_id = tenant_id
28
+ @email = email
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a? self.class
34
+ return false unless @id == other.id
35
+ return false unless @tenant_id == other.tenant_id
36
+ return false unless @email == other.email
37
+ true
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::SourcePartner
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::SourcePartner
11
+ def id(); end
12
+ def id=(str_); end
13
+ def tenant_id(); end
14
+ def tenant_id=(str_); end
15
+ def email(); end
16
+ def email=(str_); end
17
+ end
@@ -0,0 +1,42 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # Generated under the AGPL-3.0-only license.
3
+ # SPDX-License-Identifier: AGPL-3.0-only
4
+
5
+ # typed: true
6
+ # frozen_string_literal: true
7
+
8
+
9
+ module OpenApiSDK
10
+ module Models
11
+ module Shared
12
+ # The target partner account that the source account was merged into.
13
+ class TargetPartner
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The partner's unique ID on Dub.
18
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
19
+ # The partner's unique ID in your system
20
+ field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId'), required: true } }
21
+ # The partner's email address.
22
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
23
+
24
+ sig { params(id: ::String, tenant_id: T.nilable(::String), email: T.nilable(::String)).void }
25
+ def initialize(id:, tenant_id: nil, email: nil)
26
+ @id = id
27
+ @tenant_id = tenant_id
28
+ @email = email
29
+ end
30
+
31
+ sig { params(other: T.untyped).returns(T::Boolean) }
32
+ def ==(other)
33
+ return false unless other.is_a? self.class
34
+ return false unless @id == other.id
35
+ return false unless @tenant_id == other.tenant_id
36
+ return false unless @email == other.email
37
+ true
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::TargetPartner
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::TargetPartner
11
+ def id(); end
12
+ def id=(str_); end
13
+ def tenant_id(); end
14
+ def tenant_id=(str_); end
15
+ def email(); end
16
+ def email=(str_); end
17
+ end
@@ -81,6 +81,9 @@ module OpenApiSDK
81
81
  autoload :PartnerEnrolledEventFieldsDataReferralFormDataType, 'open_api_sdk/models/shared/partnerenrolledevent_fields_data_referralformdata_type.rb'
82
82
  autoload :PartnerEnrolledEventFieldsDataType, 'open_api_sdk/models/shared/partnerenrolledevent_fields_data_type.rb'
83
83
  autoload :PartnerEnrolledEventFieldsType, 'open_api_sdk/models/shared/partnerenrolledevent_fields_type.rb'
84
+ autoload :PartnerMergedEvent, 'open_api_sdk/models/shared/partnermergedevent.rb'
85
+ autoload :PartnerMergedEventData, 'open_api_sdk/models/shared/partnermergedevent_data.rb'
86
+ autoload :PartnerMergedEventEvent, 'open_api_sdk/models/shared/partnermergedevent_event.rb'
84
87
  autoload :SaleCreatedEvent, 'open_api_sdk/models/shared/salecreatedevent.rb'
85
88
  autoload :SaleCreatedEventClick, 'open_api_sdk/models/shared/salecreatedevent_click.rb'
86
89
  autoload :SaleCreatedEventCustomer, 'open_api_sdk/models/shared/salecreatedevent_customer.rb'
@@ -126,8 +129,10 @@ module OpenApiSDK
126
129
  autoload :RegisteredDomain, 'open_api_sdk/models/shared/registereddomain.rb'
127
130
  autoload :RejectionReason, 'open_api_sdk/models/shared/rejectionreason.rb'
128
131
  autoload :Sale, 'open_api_sdk/models/shared/sale.rb'
132
+ autoload :SourcePartner, 'open_api_sdk/models/shared/sourcepartner.rb'
129
133
  autoload :Status, 'open_api_sdk/models/shared/status.rb'
130
134
  autoload :Tags, 'open_api_sdk/models/shared/tags.rb'
135
+ autoload :TargetPartner, 'open_api_sdk/models/shared/targetpartner.rb'
131
136
  autoload :TestVariants, 'open_api_sdk/models/shared/testvariants.rb'
132
137
  autoload :Trigger, 'open_api_sdk/models/shared/trigger.rb'
133
138
  autoload :Type, 'open_api_sdk/models/shared/type.rb'
@@ -90,9 +90,9 @@ module OpenApiSDK
90
90
  end
91
91
  @language = 'ruby'
92
92
  @openapi_doc_version = '0.0.1'
93
- @sdk_version = '0.12.11'
94
- @gen_version = '2.931.0'
95
- @user_agent = 'speakeasy-sdk/ruby 0.12.11 2.931.0 0.0.1 dub'
93
+ @sdk_version = '0.12.12'
94
+ @gen_version = '2.932.9'
95
+ @user_agent = 'speakeasy-sdk/ruby 0.12.12 2.932.9 0.0.1 dub'
96
96
  end
97
97
 
98
98
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.11
4
+ version: 0.12.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-19 00:00:00.000000000 Z
11
+ date: 2026-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -1158,6 +1158,12 @@ files:
1158
1158
  - lib/open_api_sdk/models/shared/partnerenrolledevent_fields_data_type.rbi
1159
1159
  - lib/open_api_sdk/models/shared/partnerenrolledevent_fields_type.rb
1160
1160
  - lib/open_api_sdk/models/shared/partnerenrolledevent_fields_type.rbi
1161
+ - lib/open_api_sdk/models/shared/partnermergedevent.rb
1162
+ - lib/open_api_sdk/models/shared/partnermergedevent.rbi
1163
+ - lib/open_api_sdk/models/shared/partnermergedevent_data.rb
1164
+ - lib/open_api_sdk/models/shared/partnermergedevent_data.rbi
1165
+ - lib/open_api_sdk/models/shared/partnermergedevent_event.rb
1166
+ - lib/open_api_sdk/models/shared/partnermergedevent_event.rbi
1161
1167
  - lib/open_api_sdk/models/shared/provider.rb
1162
1168
  - lib/open_api_sdk/models/shared/provider.rbi
1163
1169
  - lib/open_api_sdk/models/shared/referralformdata.rb
@@ -1192,10 +1198,14 @@ files:
1192
1198
  - lib/open_api_sdk/models/shared/seven.rbi
1193
1199
  - lib/open_api_sdk/models/shared/six.rb
1194
1200
  - lib/open_api_sdk/models/shared/six.rbi
1201
+ - lib/open_api_sdk/models/shared/sourcepartner.rb
1202
+ - lib/open_api_sdk/models/shared/sourcepartner.rbi
1195
1203
  - lib/open_api_sdk/models/shared/status.rb
1196
1204
  - lib/open_api_sdk/models/shared/status.rbi
1197
1205
  - lib/open_api_sdk/models/shared/tags.rb
1198
1206
  - lib/open_api_sdk/models/shared/tags.rbi
1207
+ - lib/open_api_sdk/models/shared/targetpartner.rb
1208
+ - lib/open_api_sdk/models/shared/targetpartner.rbi
1199
1209
  - lib/open_api_sdk/models/shared/testvariants.rb
1200
1210
  - lib/open_api_sdk/models/shared/testvariants.rbi
1201
1211
  - lib/open_api_sdk/models/shared/three.rb