dub 0.10.3 → 0.10.5

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rb +6 -2
  3. data/lib/open_api_sdk/models/operations/createcustomer_requestbody.rbi +2 -0
  4. data/lib/open_api_sdk/models/operations/createpartner_link.rb +6 -2
  5. data/lib/open_api_sdk/models/operations/createpartner_link.rbi +2 -0
  6. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +7 -39
  7. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +2 -18
  8. data/lib/open_api_sdk/models/operations/createpartner_status.rb +1 -0
  9. data/lib/open_api_sdk/models/operations/link.rb +6 -2
  10. data/lib/open_api_sdk/models/operations/link.rbi +2 -0
  11. data/lib/open_api_sdk/models/operations/listcommissions_request.rb +7 -3
  12. data/lib/open_api_sdk/models/operations/listcommissions_request.rbi +2 -0
  13. data/lib/open_api_sdk/models/operations/listevents_request.rb +6 -2
  14. data/lib/open_api_sdk/models/operations/listevents_request.rbi +2 -0
  15. data/lib/open_api_sdk/models/operations/listpartners_link.rb +6 -2
  16. data/lib/open_api_sdk/models/operations/listpartners_link.rbi +2 -0
  17. data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +1 -1
  18. data/lib/open_api_sdk/models/operations/listpartners_queryparam_status.rb +1 -0
  19. data/lib/open_api_sdk/models/operations/listpartners_request.rb +11 -7
  20. data/lib/open_api_sdk/models/operations/listpartners_request.rbi +4 -2
  21. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +6 -38
  22. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +2 -18
  23. data/lib/open_api_sdk/models/operations/listpartners_status.rb +1 -0
  24. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +6 -2
  25. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rbi +2 -0
  26. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rb +6 -2
  27. data/lib/open_api_sdk/models/operations/updatecustomer_requestbody.rbi +2 -0
  28. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rb +2 -2
  29. data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rb +77 -0
  30. data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rbi +35 -0
  31. data/lib/open_api_sdk/models/shared/leadcreatedevent_data.rb +10 -2
  32. data/lib/open_api_sdk/models/shared/leadcreatedevent_data.rbi +4 -0
  33. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +6 -38
  34. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +2 -18
  35. data/lib/open_api_sdk/models/shared/partnerenrolledevent_link.rb +6 -2
  36. data/lib/open_api_sdk/models/shared/partnerenrolledevent_link.rbi +2 -0
  37. data/lib/open_api_sdk/models/shared/salecreatedevent_data.rb +10 -2
  38. data/lib/open_api_sdk/models/shared/salecreatedevent_data.rbi +4 -0
  39. data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rb +77 -0
  40. data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rbi +35 -0
  41. data/lib/open_api_sdk/models/shared/status.rb +1 -0
  42. data/lib/open_api_sdk/models/shared/workspaceschema.rb +10 -2
  43. data/lib/open_api_sdk/models/shared/workspaceschema.rbi +4 -0
  44. data/lib/open_api_sdk/models/shared.rb +2 -0
  45. data/lib/open_api_sdk/partners.rb +2 -2
  46. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  47. metadata +6 -2
@@ -24,13 +24,19 @@ module OpenApiSDK
24
24
 
25
25
  field :sale, Models::Shared::SaleCreatedEventSale, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sale'), required: true } }
26
26
 
27
- sig { params(event_name: ::String, customer: Models::Shared::SaleCreatedEventCustomer, click: Models::Shared::SaleCreatedEventClick, link: Models::Shared::SaleCreatedEventLink, sale: Models::Shared::SaleCreatedEventSale).void }
28
- def initialize(event_name:, customer:, click:, link:, sale:)
27
+ field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('metadata'), required: true } }
28
+
29
+ field :partner, Crystalline::Nilable.new(Models::Shared::SaleCreatedEventPartner), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partner') } }
30
+
31
+ sig { params(event_name: ::String, customer: Models::Shared::SaleCreatedEventCustomer, click: Models::Shared::SaleCreatedEventClick, link: Models::Shared::SaleCreatedEventLink, sale: Models::Shared::SaleCreatedEventSale, metadata: T.nilable(T::Hash[Symbol, ::Object]), partner: T.nilable(Models::Shared::SaleCreatedEventPartner)).void }
32
+ def initialize(event_name:, customer:, click:, link:, sale:, metadata: nil, partner: nil)
29
33
  @event_name = event_name
30
34
  @customer = customer
31
35
  @click = click
32
36
  @link = link
33
37
  @sale = sale
38
+ @metadata = metadata
39
+ @partner = partner
34
40
  end
35
41
 
36
42
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -41,6 +47,8 @@ module OpenApiSDK
41
47
  return false unless @click == other.click
42
48
  return false unless @link == other.link
43
49
  return false unless @sale == other.sale
50
+ return false unless @metadata == other.metadata
51
+ return false unless @partner == other.partner
44
52
  true
45
53
  end
46
54
  end
@@ -18,4 +18,8 @@ class OpenApiSDK::Models::Shared::SaleCreatedEventData
18
18
  def link=(str_); end
19
19
  def sale(); end
20
20
  def sale=(str_); end
21
+ def metadata(); end
22
+ def metadata=(str_); end
23
+ def partner(); end
24
+ def partner=(str_); end
21
25
  end
@@ -0,0 +1,77 @@
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
+
12
+ class SaleCreatedEventPartner
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The partner's unique ID on Dub.
17
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
18
+ # The partner's full legal name.
19
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name'), required: true } }
20
+
21
+ field :total_clicks, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalClicks'), required: true } }
22
+
23
+ field :total_leads, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalLeads'), required: true } }
24
+
25
+ field :total_conversions, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalConversions'), required: true } }
26
+
27
+ field :total_sales, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalSales'), required: true } }
28
+
29
+ field :total_sale_amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalSaleAmount'), required: true } }
30
+
31
+ field :total_commissions, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalCommissions'), required: true } }
32
+ # The partner's email address. Should be a unique value across Dub.
33
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
34
+ # The partner's avatar image.
35
+ field :image, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image'), required: true } }
36
+ # The date when the partner enabled payouts.
37
+ field :payouts_enabled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt'), required: true } }
38
+ # The partner's country (required for tax purposes).
39
+ field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
40
+
41
+ sig { params(id: ::String, name: ::String, total_clicks: ::Float, total_leads: ::Float, total_conversions: ::Float, total_sales: ::Float, total_sale_amount: ::Float, total_commissions: ::Float, email: T.nilable(::String), image: T.nilable(::String), payouts_enabled_at: T.nilable(::String), country: T.nilable(::String)).void }
42
+ def initialize(id:, name:, total_clicks:, total_leads:, total_conversions:, total_sales:, total_sale_amount:, total_commissions:, email: nil, image: nil, payouts_enabled_at: nil, country: nil)
43
+ @id = id
44
+ @name = name
45
+ @total_clicks = total_clicks
46
+ @total_leads = total_leads
47
+ @total_conversions = total_conversions
48
+ @total_sales = total_sales
49
+ @total_sale_amount = total_sale_amount
50
+ @total_commissions = total_commissions
51
+ @email = email
52
+ @image = image
53
+ @payouts_enabled_at = payouts_enabled_at
54
+ @country = country
55
+ end
56
+
57
+ sig { params(other: T.untyped).returns(T::Boolean) }
58
+ def ==(other)
59
+ return false unless other.is_a? self.class
60
+ return false unless @id == other.id
61
+ return false unless @name == other.name
62
+ return false unless @total_clicks == other.total_clicks
63
+ return false unless @total_leads == other.total_leads
64
+ return false unless @total_conversions == other.total_conversions
65
+ return false unless @total_sales == other.total_sales
66
+ return false unless @total_sale_amount == other.total_sale_amount
67
+ return false unless @total_commissions == other.total_commissions
68
+ return false unless @email == other.email
69
+ return false unless @image == other.image
70
+ return false unless @payouts_enabled_at == other.payouts_enabled_at
71
+ return false unless @country == other.country
72
+ true
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,35 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Shared::SaleCreatedEventPartner
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Shared::SaleCreatedEventPartner
11
+ def id(); end
12
+ def id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def total_clicks(); end
16
+ def total_clicks=(str_); end
17
+ def total_leads(); end
18
+ def total_leads=(str_); end
19
+ def total_conversions(); end
20
+ def total_conversions=(str_); end
21
+ def total_sales(); end
22
+ def total_sales=(str_); end
23
+ def total_sale_amount(); end
24
+ def total_sale_amount=(str_); end
25
+ def total_commissions(); end
26
+ def total_commissions=(str_); end
27
+ def email(); end
28
+ def email=(str_); end
29
+ def image(); end
30
+ def image=(str_); end
31
+ def payouts_enabled_at(); end
32
+ def payouts_enabled_at=(str_); end
33
+ def country(); end
34
+ def country=(str_); end
35
+ end
@@ -18,6 +18,7 @@ module OpenApiSDK
18
18
  REJECTED = new('rejected')
19
19
  INVITED = new('invited')
20
20
  DECLINED = new('declined')
21
+ DEACTIVATED = new('deactivated')
21
22
  BANNED = new('banned')
22
23
  ARCHIVED = new('archived')
23
24
  end
@@ -79,11 +79,15 @@ module OpenApiSDK
79
79
  field :store, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('store'), required: true } }
80
80
  # Specifies hostnames permitted for client-side click tracking.
81
81
  field :allowed_hostnames, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('allowedHostnames'), required: true } }
82
+
83
+ field :sso_email_domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ssoEmailDomain'), required: true } }
84
+
85
+ field :sso_enforced_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ssoEnforcedAt'), required: true } }
82
86
  # The logo of the workspace.
83
87
  field :logo, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('logo') } }
84
88
 
85
- sig { params(id: ::String, name: ::String, slug: ::String, plan: Models::Shared::Plan, billing_cycle_start: ::Float, total_links: ::Float, usage: ::Float, usage_limit: ::Float, links_usage: ::Float, links_limit: ::Float, payouts_usage: ::Float, payouts_limit: ::Float, payout_fee: ::Float, domains_limit: ::Float, tags_limit: ::Float, folders_usage: ::Float, folders_limit: ::Float, groups_limit: ::Float, users_limit: ::Float, ai_usage: ::Float, ai_limit: ::Float, conversion_enabled: T::Boolean, dot_link_claimed: T::Boolean, created_at: ::String, users: T::Array[Models::Shared::Users], domains: T::Array[Models::Shared::Domains], invite_code: T.nilable(::String), stripe_id: T.nilable(::String), payment_failed_at: T.nilable(::String), stripe_connect_id: T.nilable(::String), flags: T.nilable(T::Hash[Symbol, T::Boolean]), store: T.nilable(T::Hash[Symbol, ::Object]), allowed_hostnames: T.nilable(T::Array[::String]), logo: T.nilable(::String)).void }
86
- def initialize(id:, name:, slug:, plan:, billing_cycle_start:, total_links:, usage:, usage_limit:, links_usage:, links_limit:, payouts_usage:, payouts_limit:, payout_fee:, domains_limit:, tags_limit:, folders_usage:, folders_limit:, groups_limit:, users_limit:, ai_usage:, ai_limit:, conversion_enabled:, dot_link_claimed:, created_at:, users:, domains:, invite_code: nil, stripe_id: nil, payment_failed_at: nil, stripe_connect_id: nil, flags: nil, store: nil, allowed_hostnames: nil, logo: nil)
89
+ sig { params(id: ::String, name: ::String, slug: ::String, plan: Models::Shared::Plan, billing_cycle_start: ::Float, total_links: ::Float, usage: ::Float, usage_limit: ::Float, links_usage: ::Float, links_limit: ::Float, payouts_usage: ::Float, payouts_limit: ::Float, payout_fee: ::Float, domains_limit: ::Float, tags_limit: ::Float, folders_usage: ::Float, folders_limit: ::Float, groups_limit: ::Float, users_limit: ::Float, ai_usage: ::Float, ai_limit: ::Float, conversion_enabled: T::Boolean, dot_link_claimed: T::Boolean, created_at: ::String, users: T::Array[Models::Shared::Users], domains: T::Array[Models::Shared::Domains], invite_code: T.nilable(::String), stripe_id: T.nilable(::String), payment_failed_at: T.nilable(::String), stripe_connect_id: T.nilable(::String), flags: T.nilable(T::Hash[Symbol, T::Boolean]), store: T.nilable(T::Hash[Symbol, ::Object]), allowed_hostnames: T.nilable(T::Array[::String]), sso_email_domain: T.nilable(::String), sso_enforced_at: T.nilable(::String), logo: T.nilable(::String)).void }
90
+ def initialize(id:, name:, slug:, plan:, billing_cycle_start:, total_links:, usage:, usage_limit:, links_usage:, links_limit:, payouts_usage:, payouts_limit:, payout_fee:, domains_limit:, tags_limit:, folders_usage:, folders_limit:, groups_limit:, users_limit:, ai_usage:, ai_limit:, conversion_enabled:, dot_link_claimed:, created_at:, users:, domains:, invite_code: nil, stripe_id: nil, payment_failed_at: nil, stripe_connect_id: nil, flags: nil, store: nil, allowed_hostnames: nil, sso_email_domain: nil, sso_enforced_at: nil, logo: nil)
87
91
  @id = id
88
92
  @name = name
89
93
  @slug = slug
@@ -117,6 +121,8 @@ module OpenApiSDK
117
121
  @flags = flags
118
122
  @store = store
119
123
  @allowed_hostnames = allowed_hostnames
124
+ @sso_email_domain = sso_email_domain
125
+ @sso_enforced_at = sso_enforced_at
120
126
  @logo = logo
121
127
  end
122
128
 
@@ -156,6 +162,8 @@ module OpenApiSDK
156
162
  return false unless @flags == other.flags
157
163
  return false unless @store == other.store
158
164
  return false unless @allowed_hostnames == other.allowed_hostnames
165
+ return false unless @sso_email_domain == other.sso_email_domain
166
+ return false unless @sso_enforced_at == other.sso_enforced_at
159
167
  return false unless @logo == other.logo
160
168
  true
161
169
  end
@@ -74,6 +74,10 @@ class OpenApiSDK::Models::Shared::WorkspaceSchema
74
74
  def store=(str_); end
75
75
  def allowed_hostnames(); end
76
76
  def allowed_hostnames=(str_); end
77
+ def sso_email_domain(); end
78
+ def sso_email_domain=(str_); end
79
+ def sso_enforced_at(); end
80
+ def sso_enforced_at=(str_); end
77
81
  def logo(); end
78
82
  def logo=(str_); end
79
83
  end
@@ -30,6 +30,7 @@ module OpenApiSDK
30
30
  autoload :CommissionCreatedEventCustomer, 'open_api_sdk/models/shared/commissioncreatedevent_customer.rb'
31
31
  autoload :CommissionCreatedEventData, 'open_api_sdk/models/shared/commissioncreatedevent_data.rb'
32
32
  autoload :CommissionCreatedEventEvent, 'open_api_sdk/models/shared/commissioncreatedevent_event.rb'
33
+ autoload :CommissionCreatedEventPartner, 'open_api_sdk/models/shared/commissioncreatedevent_partner.rb'
33
34
  autoload :CommissionCreatedEventStatus, 'open_api_sdk/models/shared/commissioncreatedevent_status.rb'
34
35
  autoload :CommissionCreatedEventType, 'open_api_sdk/models/shared/commissioncreatedevent_type.rb'
35
36
  autoload :DomainSchema, 'open_api_sdk/models/shared/domainschema.rb'
@@ -71,6 +72,7 @@ module OpenApiSDK
71
72
  autoload :SaleCreatedEventCustomer, 'open_api_sdk/models/shared/salecreatedevent_customer.rb'
72
73
  autoload :SaleCreatedEventData, 'open_api_sdk/models/shared/salecreatedevent_data.rb'
73
74
  autoload :SaleCreatedEventEvent, 'open_api_sdk/models/shared/salecreatedevent_event.rb'
75
+ autoload :SaleCreatedEventPartner, 'open_api_sdk/models/shared/salecreatedevent_partner.rb'
74
76
  autoload :SaleCreatedEventSale, 'open_api_sdk/models/shared/salecreatedevent_sale.rb'
75
77
  autoload :SaleCreatedEventTestVariants, 'open_api_sdk/models/shared/salecreatedevent_testvariants.rb'
76
78
  autoload :SaleEvent, 'open_api_sdk/models/shared/saleevent.rb'
@@ -41,8 +41,8 @@ module OpenApiSDK
41
41
 
42
42
  sig { params(request: T.nilable(Models::Operations::CreatePartnerRequestBody), timeout_ms: T.nilable(Integer)).returns(Models::Operations::CreatePartnerResponseBody) }
43
43
  def create(request: nil, timeout_ms: nil)
44
- # create - Create a partner
45
- # Create a partner for a program. If partner exists, automatically enrolls them.
44
+ # create - Create or update a partner
45
+ # Creates or updates a partner record (upsert behavior). If a partner with the same email already exists, their program enrollment will be updated with the provided tenantId. If no existing partner is found, a new partner will be created using the supplied information.
46
46
  url, params = @sdk_configuration.get_server_details
47
47
  base_url = Utils.template_url(url, params)
48
48
  url = "#{base_url}/partners"
@@ -89,9 +89,9 @@ module OpenApiSDK
89
89
  end
90
90
  @language = 'ruby'
91
91
  @openapi_doc_version = '0.0.1'
92
- @sdk_version = '0.10.3'
93
- @gen_version = '2.698.4'
94
- @user_agent = 'speakeasy-sdk/ruby 0.10.3 2.698.4 0.0.1 dub'
92
+ @sdk_version = '0.10.5'
93
+ @gen_version = '2.722.2'
94
+ @user_agent = 'speakeasy-sdk/ruby 0.10.5 2.722.2 0.0.1 dub'
95
95
  end
96
96
 
97
97
  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.10.3
4
+ version: 0.10.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-09-11 00:00:00.000000000 Z
11
+ date: 2025-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -725,6 +725,8 @@ files:
725
725
  - lib/open_api_sdk/models/shared/commissioncreatedevent_data.rbi
726
726
  - lib/open_api_sdk/models/shared/commissioncreatedevent_event.rb
727
727
  - lib/open_api_sdk/models/shared/commissioncreatedevent_event.rbi
728
+ - lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rb
729
+ - lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rbi
728
730
  - lib/open_api_sdk/models/shared/commissioncreatedevent_status.rb
729
731
  - lib/open_api_sdk/models/shared/commissioncreatedevent_status.rbi
730
732
  - lib/open_api_sdk/models/shared/commissioncreatedevent_type.rb
@@ -835,6 +837,8 @@ files:
835
837
  - lib/open_api_sdk/models/shared/salecreatedevent_event.rbi
836
838
  - lib/open_api_sdk/models/shared/salecreatedevent_link.rb
837
839
  - lib/open_api_sdk/models/shared/salecreatedevent_link.rbi
840
+ - lib/open_api_sdk/models/shared/salecreatedevent_partner.rb
841
+ - lib/open_api_sdk/models/shared/salecreatedevent_partner.rbi
838
842
  - lib/open_api_sdk/models/shared/salecreatedevent_sale.rb
839
843
  - lib/open_api_sdk/models/shared/salecreatedevent_sale.rbi
840
844
  - lib/open_api_sdk/models/shared/salecreatedevent_testvariants.rb