dub 0.12.6 → 0.12.7

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -0
  3. data/lib/open_api_sdk/commissions.rb +1 -1
  4. data/lib/open_api_sdk/customers.rb +3 -3
  5. data/lib/open_api_sdk/domains.rb +2 -2
  6. data/lib/open_api_sdk/dub.rb +2 -1
  7. data/lib/open_api_sdk/events.rb +1 -1
  8. data/lib/open_api_sdk/folders.rb +2 -2
  9. data/lib/open_api_sdk/links.rb +1 -1
  10. data/lib/open_api_sdk/models/operations/applicationformdata.rb +36 -0
  11. data/lib/open_api_sdk/models/operations/applicationformdata.rbi +15 -0
  12. data/lib/open_api_sdk/models/operations/approvepartner_requestbody.rb +36 -0
  13. data/lib/open_api_sdk/models/operations/approvepartner_requestbody.rbi +15 -0
  14. data/lib/open_api_sdk/models/operations/approvepartner_responsebody.rb +32 -0
  15. data/lib/open_api_sdk/models/operations/approvepartner_responsebody.rbi +13 -0
  16. data/lib/open_api_sdk/models/operations/banpartner_requestbody.rb +1 -1
  17. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +6 -2
  18. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +2 -0
  19. data/lib/open_api_sdk/models/operations/listpartnerapplications_partner.rb +88 -0
  20. data/lib/open_api_sdk/models/operations/listpartnerapplications_partner.rbi +41 -0
  21. data/lib/open_api_sdk/models/operations/listpartnerapplications_request.rb +44 -0
  22. data/lib/open_api_sdk/models/operations/listpartnerapplications_request.rbi +19 -0
  23. data/lib/open_api_sdk/models/operations/listpartnerapplications_responsebody.rb +44 -0
  24. data/lib/open_api_sdk/models/operations/listpartnerapplications_responsebody.rbi +19 -0
  25. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rb +25 -0
  26. data/lib/open_api_sdk/models/operations/listpartnerapplications_status.rbi +11 -0
  27. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +6 -2
  28. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +2 -0
  29. data/lib/open_api_sdk/models/operations/reason.rb +1 -1
  30. data/lib/open_api_sdk/models/operations/rejectbountysubmission_rejectionreason.rb +22 -0
  31. data/lib/open_api_sdk/models/operations/rejectbountysubmission_rejectionreason.rbi +11 -0
  32. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rb +2 -2
  33. data/lib/open_api_sdk/models/operations/rejectionreason.rb +4 -5
  34. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rb +44 -0
  35. data/lib/open_api_sdk/models/operations/rejectpartner_requestbody.rbi +19 -0
  36. data/lib/open_api_sdk/models/operations/rejectpartner_responsebody.rb +32 -0
  37. data/lib/open_api_sdk/models/operations/rejectpartner_responsebody.rbi +13 -0
  38. data/lib/open_api_sdk/models/operations/responsebody_sale.rb +6 -2
  39. data/lib/open_api_sdk/models/operations/responsebody_sale.rbi +2 -0
  40. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rb +6 -6
  41. data/lib/open_api_sdk/models/operations/updatecommission_requestbody.rbi +2 -2
  42. data/lib/open_api_sdk/models/operations.rb +10 -0
  43. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +6 -2
  44. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +2 -0
  45. data/lib/open_api_sdk/partner_applications.rb +750 -0
  46. data/lib/open_api_sdk/payouts.rb +1 -1
  47. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  48. data/lib/open_api_sdk/tags.rb +2 -2
  49. metadata +23 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f701a9cd800286dd31fad8640f3aaff94fec79ccef9fde5be854f5bd8eda862c
4
- data.tar.gz: 18e8ca8226425e8ea64fc8b6b28a0a394fd36b796d06a7e44725f9e046ec64f0
3
+ metadata.gz: 9a01f4100ab767d4bc58540a71b7733a50233f31660f8839f388dcc0c1f58c5f
4
+ data.tar.gz: 3256d4fda4745f676507c640e1cf7da7ea9cb26f85cf92ef7f25911e87558e23
5
5
  SHA512:
6
- metadata.gz: 0c8eaed5e40302eb6f964a3c244bbf62d67889bc588f2c781bd2ada3933c695b939790b70c494df1f17d498da1f2b8242d59e5396b85c8d70c52722c99afa4e1
7
- data.tar.gz: 5d3251aa3dda9d498f12c99883f82e51247d5c0e8a0204c96837b22432a481cb299e26b7bd48f5d67c1adeb4fa0a6274aa75c6bb68c4a21414e54332c7a3364a
6
+ metadata.gz: b9f8a66e0b329c08646db7f91865a1583c80caa17c4585179313b9795d3ad60f5b60ac061ba63421b7f19fa46487e5fad708285bf8d446d8deda81d249142650
7
+ data.tar.gz: 8c08373eb43486d72b92900b4aa874624b605165bda6d27ee571447061d7b0e8f7ecea6679323f248dfb5693b116f5029dbb3141e573d810d8ea3873ff94e9c6
data/lib/dub.rb CHANGED
@@ -14,6 +14,7 @@ module OpenApiSDK
14
14
  autoload :Track, 'open_api_sdk/track'
15
15
  autoload :Customers, 'open_api_sdk/customers'
16
16
  autoload :Partners, 'open_api_sdk/partners'
17
+ autoload :PartnerApplications, 'open_api_sdk/partner_applications'
17
18
  autoload :Commissions, 'open_api_sdk/commissions'
18
19
  autoload :Payouts, 'open_api_sdk/payouts'
19
20
  autoload :EmbedTokens, 'open_api_sdk/embed_tokens'
@@ -45,7 +45,7 @@ module OpenApiSDK
45
45
  sig { params(request: Models::Operations::ListCommissionsRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListCommissionsResponse) }
46
46
  def list(request:, timeout_ms: nil, http_headers: nil)
47
47
  # list - List all commissions
48
- # Retrieve a list of commissions for your partner program.
48
+ # Retrieve a paginated list of commissions for your partner program.
49
49
  url, params = @sdk_configuration.get_server_details
50
50
  base_url = Utils.template_url(url, params)
51
51
  url = "#{base_url}/commissions"
@@ -44,8 +44,8 @@ module OpenApiSDK
44
44
 
45
45
  sig { params(request: Models::Operations::GetCustomersRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetCustomersResponse) }
46
46
  def list(request:, timeout_ms: nil, http_headers: nil)
47
- # list - Retrieve a list of customers
48
- # Retrieve a list of customers for the authenticated workspace.
47
+ # list - List all customers
48
+ # Retrieve a paginated list of customers for the authenticated workspace.
49
49
  url, params = @sdk_configuration.get_server_details
50
50
  base_url = Utils.template_url(url, params)
51
51
  url = "#{base_url}/customers"
@@ -312,7 +312,7 @@ module OpenApiSDK
312
312
  sig { params(request: Models::Operations::GetCustomerRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetCustomerResponseBody) }
313
313
  def get(request:, timeout_ms: nil, http_headers: nil)
314
314
  # get - Retrieve a customer
315
- # Retrieve a customer by ID for the authenticated workspace.
315
+ # Retrieve a customer by ID for the authenticated workspace. To retrieve a customer by external ID, prefix the ID with `ext_`.
316
316
  url, params = @sdk_configuration.get_server_details
317
317
  base_url = Utils.template_url(url, params)
318
318
  url = Utils.generate_url(
@@ -44,8 +44,8 @@ module OpenApiSDK
44
44
 
45
45
  sig { params(request: Models::Operations::ListDomainsRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListDomainsResponse) }
46
46
  def list(request:, timeout_ms: nil, http_headers: nil)
47
- # list - Retrieve a list of domains
48
- # Retrieve a list of domains associated with the authenticated workspace.
47
+ # list - List all domains
48
+ # Retrieve a paginated list of domains for the authenticated workspace.
49
49
  url, params = @sdk_configuration.get_server_details
50
50
  base_url = Utils.template_url(url, params)
51
51
  url = "#{base_url}/domains"
@@ -16,7 +16,7 @@ module OpenApiSDK
16
16
  class Dub
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :links, :analytics, :events, :tags, :folders, :domains, :track, :customers, :partners, :commissions, :payouts, :embed_tokens, :qr_codes, :bounties
19
+ attr_accessor :links, :analytics, :events, :tags, :folders, :domains, :track, :customers, :partners, :partner_applications, :commissions, :payouts, :embed_tokens, :qr_codes, :bounties
20
20
 
21
21
  # Instantiates the SDK, configuring it with the provided parameters.
22
22
  #
@@ -87,6 +87,7 @@ module OpenApiSDK
87
87
  @track = Track.new(@sdk_configuration)
88
88
  @customers = Customers.new(@sdk_configuration)
89
89
  @partners = Partners.new(@sdk_configuration)
90
+ @partner_applications = PartnerApplications.new(@sdk_configuration)
90
91
  @commissions = Commissions.new(@sdk_configuration)
91
92
  @payouts = Payouts.new(@sdk_configuration)
92
93
  @embed_tokens = EmbedTokens.new(@sdk_configuration)
@@ -43,7 +43,7 @@ module OpenApiSDK
43
43
 
44
44
  sig { params(request: Models::Operations::ListEventsRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(T::Array[T.any(Models::Operations::ClickEvent, Models::Operations::LeadEvent, Models::Operations::SaleEvent)]) }
45
45
  def list(request:, timeout_ms: nil, http_headers: nil)
46
- # list - Retrieve a list of events
46
+ # list - List all events
47
47
  # Retrieve a paginated list of events for the authenticated workspace.
48
48
  url, params = @sdk_configuration.get_server_details
49
49
  base_url = Utils.template_url(url, params)
@@ -43,8 +43,8 @@ module OpenApiSDK
43
43
 
44
44
  sig { params(request: Models::Operations::ListFoldersRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(T::Array[Models::Shared::FolderSchema]) }
45
45
  def list(request:, timeout_ms: nil, http_headers: nil)
46
- # list - Retrieve a list of folders
47
- # Retrieve a list of folders for the authenticated workspace.
46
+ # list - List all folders
47
+ # Retrieve a paginated list of folders for the authenticated workspace.
48
48
  url, params = @sdk_configuration.get_server_details
49
49
  base_url = Utils.template_url(url, params)
50
50
  url = "#{base_url}/folders"
@@ -44,7 +44,7 @@ module OpenApiSDK
44
44
 
45
45
  sig { params(request: Models::Operations::GetLinksRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetLinksResponse) }
46
46
  def list(request:, timeout_ms: nil, http_headers: nil)
47
- # list - Retrieve a list of links
47
+ # list - List all links
48
48
  # Retrieve a paginated list of links for the authenticated workspace.
49
49
  url, params = @sdk_configuration.get_server_details
50
50
  base_url = Utils.template_url(url, params)
@@ -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 Operations
10
+
11
+ class ApplicationFormData
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::Operations::ApplicationFormData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApplicationFormData
11
+ def label(); end
12
+ def label=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ 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 Operations
10
+
11
+ class ApprovePartnerRequestBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The ID of the partner to approve.
16
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
17
+ # The ID of the group to assign the partner to. If not provided, the partner will be assigned to the group they applied to, or the program's default group if no application group is set.
18
+ field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
19
+
20
+ sig { params(partner_id: ::String, group_id: T.nilable(::String)).void }
21
+ def initialize(partner_id:, group_id: nil)
22
+ @partner_id = partner_id
23
+ @group_id = group_id
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 @partner_id == other.partner_id
30
+ return false unless @group_id == other.group_id
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::Operations::ApprovePartnerRequestBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApprovePartnerRequestBody
11
+ def partner_id(); end
12
+ def partner_id=(str_); end
13
+ def group_id(); end
14
+ def group_id=(str_); end
15
+ end
@@ -0,0 +1,32 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+ # The approved partner
11
+ class ApprovePartnerResponseBody
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The ID of the approved partner.
16
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
17
+
18
+ sig { params(partner_id: ::String).void }
19
+ def initialize(partner_id:)
20
+ @partner_id = partner_id
21
+ end
22
+
23
+ sig { params(other: T.untyped).returns(T::Boolean) }
24
+ def ==(other)
25
+ return false unless other.is_a? self.class
26
+ return false unless @partner_id == other.partner_id
27
+ true
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ApprovePartnerResponseBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApprovePartnerResponseBody
11
+ def partner_id(); end
12
+ def partner_id=(str_); end
13
+ end
@@ -12,7 +12,7 @@ module OpenApiSDK
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
15
-
15
+ # The reason for banning the partner.
16
16
  field :reason, Models::Operations::Reason, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('reason'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::Reason, false) } }
17
17
  # The ID of the partner to create a link for. Will take precedence over `tenantId` if provided.
18
18
  field :partner_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId') } }
@@ -42,6 +42,8 @@ module OpenApiSDK
42
42
  field :payouts_enabled_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payoutsEnabledAt'), required: true } }
43
43
  # The date when the partner received the trusted badge in the partner network.
44
44
  field :trusted_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trustedAt'), required: true } }
45
+ # The date when the partner's identity was verified.
46
+ field :identity_verified_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('identityVerifiedAt'), required: true } }
45
47
  # The partner's unique ID within your database. Can be useful for associating the partner with a user in your database and retrieving/update their data in the future.
46
48
  field :tenant_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tenantId'), required: true } }
47
49
  # The partner's referral links in this program.
@@ -107,8 +109,8 @@ module OpenApiSDK
107
109
  # The partner's TikTok username (e.g. `johndoe`).
108
110
  field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
109
111
 
110
- sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::CreatePartnerStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), default_payout_method: T.nilable(Models::Operations::CreatePartnerDefaultPayoutMethod), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), trusted_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::CreatePartnerLinks]), 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), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Operations::CreatePartnerBannedReason), referral_form_data: T.nilable(Models::Operations::CreatePartnerReferralFormData), application: T.nilable(Models::Operations::CreatePartnerApplication), 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)).void }
111
- def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, default_payout_method: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, trusted_at: nil, tenant_id: nil, links: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_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)
112
+ sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::CreatePartnerStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), default_payout_method: T.nilable(Models::Operations::CreatePartnerDefaultPayoutMethod), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), trusted_at: T.nilable(::String), identity_verified_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::CreatePartnerLinks]), 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), discount_id: T.nilable(::String), application_id: T.nilable(::String), banned_at: T.nilable(::String), banned_reason: T.nilable(Models::Operations::CreatePartnerBannedReason), referral_form_data: T.nilable(Models::Operations::CreatePartnerReferralFormData), application: T.nilable(Models::Operations::CreatePartnerApplication), 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)).void }
113
+ def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, default_payout_method: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_at: nil, trusted_at: nil, identity_verified_at: nil, tenant_id: nil, links: nil, description: nil, group_id: nil, total_commissions: 0.0, click_reward_id: nil, lead_reward_id: nil, sale_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)
112
114
  @id = id
113
115
  @name = name
114
116
  @program_id = program_id
@@ -124,6 +126,7 @@ module OpenApiSDK
124
126
  @stripe_connect_id = stripe_connect_id
125
127
  @payouts_enabled_at = payouts_enabled_at
126
128
  @trusted_at = trusted_at
129
+ @identity_verified_at = identity_verified_at
127
130
  @tenant_id = tenant_id
128
131
  @links = links
129
132
  @description = description
@@ -176,6 +179,7 @@ module OpenApiSDK
176
179
  return false unless @stripe_connect_id == other.stripe_connect_id
177
180
  return false unless @payouts_enabled_at == other.payouts_enabled_at
178
181
  return false unless @trusted_at == other.trusted_at
182
+ return false unless @identity_verified_at == other.identity_verified_at
179
183
  return false unless @tenant_id == other.tenant_id
180
184
  return false unless @links == other.links
181
185
  return false unless @description == other.description
@@ -38,6 +38,8 @@ class OpenApiSDK::Models::Operations::CreatePartnerResponseBody
38
38
  def payouts_enabled_at=(str_); end
39
39
  def trusted_at(); end
40
40
  def trusted_at=(str_); end
41
+ def identity_verified_at(); end
42
+ def identity_verified_at=(str_); end
41
43
  def tenant_id(); end
42
44
  def tenant_id=(str_); end
43
45
  def links(); end
@@ -0,0 +1,88 @@
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 ListPartnerApplicationsPartner
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The partner's unique ID on Dub.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
17
+ # The partner's full legal name.
18
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name'), required: true } }
19
+ # The status of the partner's enrollment in the program.
20
+ field :status, Models::Operations::ListPartnerApplicationsStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), required: true, 'decoder': ::OpenApiSDK::Utils.enum_from_string(Models::Operations::ListPartnerApplicationsStatus, false) } }
21
+ # If the partner profile type is a company, this is the partner's legal company name.
22
+ field :company_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('companyName'), required: true } }
23
+ # The partner's email address. Should be a unique value across Dub.
24
+ field :email, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email'), required: true } }
25
+ # The partner's avatar image.
26
+ field :image, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image'), required: true } }
27
+ # The partner's country (required for tax purposes).
28
+ field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
29
+ # A brief description of the partner and their background.
30
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
31
+ # The partner's group ID on Dub.
32
+ field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
33
+ # The partner's website URL (including the https protocol).
34
+ field :website, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
35
+ # The partner's YouTube channel username (e.g. `johndoe`).
36
+ field :youtube, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('youtube') } }
37
+ # The partner's Twitter username (e.g. `johndoe`).
38
+ field :twitter, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('twitter') } }
39
+ # The partner's LinkedIn username (e.g. `johndoe`).
40
+ field :linkedin, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkedin') } }
41
+ # The partner's Instagram username (e.g. `johndoe`).
42
+ field :instagram, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('instagram') } }
43
+ # The partner's TikTok username (e.g. `johndoe`).
44
+ field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
45
+
46
+ sig { params(id: ::String, name: ::String, status: Models::Operations::ListPartnerApplicationsStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), description: T.nilable(::String), group_id: T.nilable(::String), website: T.nilable(::String), youtube: T.nilable(::String), twitter: T.nilable(::String), linkedin: T.nilable(::String), instagram: T.nilable(::String), tiktok: T.nilable(::String)).void }
47
+ def initialize(id:, name:, status:, company_name: nil, email: nil, image: nil, country: nil, description: nil, group_id: nil, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
48
+ @id = id
49
+ @name = name
50
+ @status = status
51
+ @company_name = company_name
52
+ @email = email
53
+ @image = image
54
+ @country = country
55
+ @description = description
56
+ @group_id = group_id
57
+ @website = website
58
+ @youtube = youtube
59
+ @twitter = twitter
60
+ @linkedin = linkedin
61
+ @instagram = instagram
62
+ @tiktok = tiktok
63
+ end
64
+
65
+ sig { params(other: T.untyped).returns(T::Boolean) }
66
+ def ==(other)
67
+ return false unless other.is_a? self.class
68
+ return false unless @id == other.id
69
+ return false unless @name == other.name
70
+ return false unless @status == other.status
71
+ return false unless @company_name == other.company_name
72
+ return false unless @email == other.email
73
+ return false unless @image == other.image
74
+ return false unless @country == other.country
75
+ return false unless @description == other.description
76
+ return false unless @group_id == other.group_id
77
+ return false unless @website == other.website
78
+ return false unless @youtube == other.youtube
79
+ return false unless @twitter == other.twitter
80
+ return false unless @linkedin == other.linkedin
81
+ return false unless @instagram == other.instagram
82
+ return false unless @tiktok == other.tiktok
83
+ true
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,41 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsPartner
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsPartner
11
+ def id(); end
12
+ def id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def status(); end
16
+ def status=(str_); end
17
+ def company_name(); end
18
+ def company_name=(str_); end
19
+ def email(); end
20
+ def email=(str_); end
21
+ def image(); end
22
+ def image=(str_); end
23
+ def country(); end
24
+ def country=(str_); end
25
+ def description(); end
26
+ def description=(str_); end
27
+ def group_id(); end
28
+ def group_id=(str_); end
29
+ def website(); end
30
+ def website=(str_); end
31
+ def youtube(); end
32
+ def youtube=(str_); end
33
+ def twitter(); end
34
+ def twitter=(str_); end
35
+ def linkedin(); end
36
+ def linkedin=(str_); end
37
+ def instagram(); end
38
+ def instagram=(str_); end
39
+ def tiktok(); end
40
+ def tiktok=(str_); end
41
+ 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 Operations
10
+
11
+ class ListPartnerApplicationsRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # A filter on the list based on the partner's `country` field.
16
+ field :country, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'country', 'style': 'form', 'explode': true } }
17
+ # A filter on the list based on the partner's `groupId` field.
18
+ field :group_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'groupId', 'style': 'form', 'explode': true } }
19
+ # The page number for pagination.
20
+ field :page, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
21
+ # The number of items per page.
22
+ field :page_size, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
23
+
24
+ sig { params(country: T.nilable(::String), group_id: T.nilable(::String), page: T.nilable(::Float), page_size: T.nilable(::Float)).void }
25
+ def initialize(country: nil, group_id: nil, page: nil, page_size: 100.0)
26
+ @country = country
27
+ @group_id = group_id
28
+ @page = page
29
+ @page_size = page_size
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 @country == other.country
36
+ return false unless @group_id == other.group_id
37
+ return false unless @page == other.page
38
+ return false unless @page_size == other.page_size
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::Operations::ListPartnerApplicationsRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsRequest
11
+ def country(); end
12
+ def country=(str_); end
13
+ def group_id(); end
14
+ def group_id=(str_); end
15
+ def page(); end
16
+ def page=(str_); end
17
+ def page_size(); end
18
+ def page_size=(str_); end
19
+ 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 Operations
10
+
11
+ class ListPartnerApplicationsResponseBody
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::Operations::ListPartnerApplicationsPartner, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partner'), required: true } }
21
+
22
+ field :application_form_data, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::ApplicationFormData)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('applicationFormData'), required: true } }
23
+
24
+ sig { params(id: ::String, created_at: ::String, partner: Models::Operations::ListPartnerApplicationsPartner, application_form_data: T.nilable(T::Array[Models::Operations::ApplicationFormData])).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
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsResponseBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsResponseBody
11
+ def id(); end
12
+ def id=(str_); end
13
+ def created_at(); end
14
+ def created_at=(str_); end
15
+ def partner(); end
16
+ def partner=(str_); end
17
+ def application_form_data(); end
18
+ def application_form_data=(str_); end
19
+ end
@@ -0,0 +1,25 @@
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
+ # ListPartnerApplicationsStatus - The status of the partner's enrollment in the program.
11
+ class ListPartnerApplicationsStatus < T::Enum
12
+ enums do
13
+ PENDING = new('pending')
14
+ APPROVED = new('approved')
15
+ REJECTED = new('rejected')
16
+ INVITED = new('invited')
17
+ DECLINED = new('declined')
18
+ DEACTIVATED = new('deactivated')
19
+ BANNED = new('banned')
20
+ ARCHIVED = new('archived')
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListPartnerApplicationsStatus
11
+ end