dub 0.10.5 → 0.11.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/module.rb +4 -0
  3. data/lib/crystalline/utils.rb +13 -0
  4. data/lib/open_api_sdk/analytics.rb +1 -1
  5. data/lib/open_api_sdk/commissions.rb +2 -2
  6. data/lib/open_api_sdk/customers.rb +5 -5
  7. data/lib/open_api_sdk/domains.rb +6 -6
  8. data/lib/open_api_sdk/embed_tokens.rb +1 -1
  9. data/lib/open_api_sdk/events.rb +1 -1
  10. data/lib/open_api_sdk/folders.rb +4 -4
  11. data/lib/open_api_sdk/links.rb +10 -10
  12. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +6 -2
  13. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rbi +2 -0
  14. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +1 -1
  15. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +24 -24
  16. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rbi +10 -10
  17. data/lib/open_api_sdk/models/operations/listpartners_queryparam_sortby.rb +5 -7
  18. data/lib/open_api_sdk/models/operations/listpartners_request.rb +3 -7
  19. data/lib/open_api_sdk/models/operations/listpartners_request.rbi +0 -2
  20. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rb +24 -24
  21. data/lib/open_api_sdk/models/operations/listpartners_responsebody.rbi +10 -10
  22. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +4 -1
  23. data/lib/open_api_sdk/models/operations/requestbody.rb +1 -1
  24. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +1 -1
  25. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +6 -2
  26. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rbi +2 -0
  27. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +1 -1
  28. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +1 -1
  29. data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rb +6 -2
  30. data/lib/open_api_sdk/models/shared/commissioncreatedevent_partner.rbi +2 -0
  31. data/lib/open_api_sdk/models/shared/folderschema.rb +6 -2
  32. data/lib/open_api_sdk/models/shared/folderschema.rbi +2 -0
  33. data/lib/open_api_sdk/models/shared/leadcreatedevent_link.rb +2 -2
  34. data/lib/open_api_sdk/models/shared/leadevent_link.rb +2 -2
  35. data/lib/open_api_sdk/models/shared/link.rb +2 -2
  36. data/lib/open_api_sdk/models/shared/linkclickedevent_link.rb +2 -2
  37. data/lib/open_api_sdk/models/shared/linkschema.rb +2 -2
  38. data/lib/open_api_sdk/models/shared/{tagschema.rb → linktagschema.rb} +1 -1
  39. data/lib/open_api_sdk/models/shared/{tagschema.rbi → linktagschema.rbi} +2 -2
  40. data/lib/open_api_sdk/models/shared/linkwebhookevent_link.rb +2 -2
  41. data/lib/open_api_sdk/models/shared/partner.rb +6 -2
  42. data/lib/open_api_sdk/models/shared/partner.rbi +2 -0
  43. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rb +24 -24
  44. data/lib/open_api_sdk/models/shared/partnerenrolledevent_data.rbi +10 -10
  45. data/lib/open_api_sdk/models/shared/salecreatedevent_link.rb +2 -2
  46. data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rb +6 -2
  47. data/lib/open_api_sdk/models/shared/salecreatedevent_partner.rbi +2 -0
  48. data/lib/open_api_sdk/models/shared/saleevent_link.rb +2 -2
  49. data/lib/open_api_sdk/models/shared/workspaceschema.rb +6 -2
  50. data/lib/open_api_sdk/models/shared/workspaceschema.rbi +2 -0
  51. data/lib/open_api_sdk/models/shared.rb +1 -1
  52. data/lib/open_api_sdk/partners.rb +6 -6
  53. data/lib/open_api_sdk/qr_codes.rb +1 -1
  54. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  55. data/lib/open_api_sdk/tags.rb +10 -10
  56. data/lib/open_api_sdk/track.rb +2 -2
  57. data/lib/open_api_sdk/workspaces.rb +2 -2
  58. metadata +4 -4
@@ -47,7 +47,7 @@ module OpenApiSDK
47
47
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
48
48
  # The partner's group ID on Dub.
49
49
  field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
50
- # The total commissions paid to the partner for their referrals. Defaults to 0 if `includeExpandedFields` is false.
50
+ # The total commissions paid to the partner for their referrals
51
51
  field :total_commissions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalCommissions') } }
52
52
 
53
53
  field :click_reward_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickRewardId') } }
@@ -63,17 +63,17 @@ module OpenApiSDK
63
63
  field :banned_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bannedAt') } }
64
64
  # If the partner was banned from the program, this is the reason for the ban.
65
65
  field :banned_reason, Crystalline::Nilable.new(Models::Operations::ListPartnersBannedReason), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bannedReason'), 'decoder': Utils.enum_from_string(Models::Operations::ListPartnersBannedReason, true) } }
66
- # The total number of clicks on the partner's links. Defaults to 0 if `includeExpandedFields` is false.
67
- field :clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clicks') } }
68
- # The total number of leads generated by the partner's links. Defaults to 0 if `includeExpandedFields` is false.
69
- field :leads, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('leads') } }
70
- # The total number of leads that converted to paying customers. Defaults to 0 if `includeExpandedFields` is false.
71
- field :conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('conversions') } }
72
- # The total number of sales generated by the partner's links (includes recurring sales). Defaults to 0 if `includeExpandedFields` is false.
73
- field :sales, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('sales') } }
74
- # The total amount of sales (in cents) generated by the partner's links. Defaults to 0 if `includeExpandedFields` is false.
75
- field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
76
- # The total net revenue generated by the partner. Defaults to 0 if `includeExpandedFields` is false.
66
+ # The total number of clicks on the partner's links
67
+ field :total_clicks, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalClicks') } }
68
+ # The total number of leads generated by the partner's links
69
+ field :total_leads, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalLeads') } }
70
+ # The total number of leads that converted to paying customers
71
+ field :total_conversions, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalConversions') } }
72
+ # The total number of sales generated by the partner's links (includes recurring sales)
73
+ field :total_sales, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalSales') } }
74
+ # The total amount of sales (in cents) generated by the partner's links
75
+ field :total_sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('totalSaleAmount') } }
76
+ # The total net revenue generated by the partner
77
77
  field :net_revenue, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('netRevenue') } }
78
78
  # The partner's website URL (including the https protocol).
79
79
  field :website, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('website') } }
@@ -88,8 +88,8 @@ module OpenApiSDK
88
88
  # The partner's TikTok username (e.g. `johndoe`).
89
89
  field :tiktok, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tiktok') } }
90
90
 
91
- sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::ListPartnersStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::ListPartnersLink]), 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::ListPartnersBannedReason), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float), net_revenue: 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 }
92
- def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_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, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0, net_revenue: 0.0, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
91
+ sig { params(id: ::String, name: ::String, program_id: ::String, partner_id: ::String, created_at: ::String, status: Models::Operations::ListPartnersStatus, company_name: T.nilable(::String), email: T.nilable(::String), image: T.nilable(::String), country: T.nilable(::String), paypal_email: T.nilable(::String), stripe_connect_id: T.nilable(::String), payouts_enabled_at: T.nilable(::String), tenant_id: T.nilable(::String), links: T.nilable(T::Array[Models::Operations::ListPartnersLink]), 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::ListPartnersBannedReason), 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), 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 }
92
+ def initialize(id:, name:, program_id:, partner_id:, created_at:, status:, company_name: nil, email: nil, image: nil, country: nil, paypal_email: nil, stripe_connect_id: nil, payouts_enabled_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, 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, website: nil, youtube: nil, twitter: nil, linkedin: nil, instagram: nil, tiktok: nil)
93
93
  @id = id
94
94
  @name = name
95
95
  @program_id = program_id
@@ -115,11 +115,11 @@ module OpenApiSDK
115
115
  @application_id = application_id
116
116
  @banned_at = banned_at
117
117
  @banned_reason = banned_reason
118
- @clicks = clicks
119
- @leads = leads
120
- @conversions = conversions
121
- @sales = sales
122
- @sale_amount = sale_amount
118
+ @total_clicks = total_clicks
119
+ @total_leads = total_leads
120
+ @total_conversions = total_conversions
121
+ @total_sales = total_sales
122
+ @total_sale_amount = total_sale_amount
123
123
  @net_revenue = net_revenue
124
124
  @website = website
125
125
  @youtube = youtube
@@ -157,11 +157,11 @@ module OpenApiSDK
157
157
  return false unless @application_id == other.application_id
158
158
  return false unless @banned_at == other.banned_at
159
159
  return false unless @banned_reason == other.banned_reason
160
- return false unless @clicks == other.clicks
161
- return false unless @leads == other.leads
162
- return false unless @conversions == other.conversions
163
- return false unless @sales == other.sales
164
- return false unless @sale_amount == other.sale_amount
160
+ return false unless @total_clicks == other.total_clicks
161
+ return false unless @total_leads == other.total_leads
162
+ return false unless @total_conversions == other.total_conversions
163
+ return false unless @total_sales == other.total_sales
164
+ return false unless @total_sale_amount == other.total_sale_amount
165
165
  return false unless @net_revenue == other.net_revenue
166
166
  return false unless @website == other.website
167
167
  return false unless @youtube == other.youtube
@@ -58,16 +58,16 @@ class OpenApiSDK::Models::Operations::ListPartnersResponseBody
58
58
  def banned_at=(str_); end
59
59
  def banned_reason(); end
60
60
  def banned_reason=(str_); end
61
- def clicks(); end
62
- def clicks=(str_); end
63
- def leads(); end
64
- def leads=(str_); end
65
- def conversions(); end
66
- def conversions=(str_); end
67
- def sales(); end
68
- def sales=(str_); end
69
- def sale_amount(); end
70
- def sale_amount=(str_); end
61
+ def total_clicks(); end
62
+ def total_clicks=(str_); end
63
+ def total_leads(); end
64
+ def total_leads=(str_); end
65
+ def total_conversions(); end
66
+ def total_conversions=(str_); end
67
+ def total_sales(); end
68
+ def total_sales=(str_); end
69
+ def total_sale_amount(); end
70
+ def total_sale_amount=(str_); end
71
71
  def net_revenue(); end
72
72
  def net_revenue=(str_); end
73
73
  def website(); end
@@ -26,9 +26,12 @@ module OpenApiSDK
26
26
  TRIGGERS = new('triggers')
27
27
  REFERERS = new('referers')
28
28
  REFERER_URLS = new('referer_urls')
29
- TOP_PARTNERS = new('top_partners')
29
+ TOP_FOLDERS = new('top_folders')
30
+ TOP_LINK_TAGS = new('top_link_tags')
31
+ TOP_DOMAINS = new('top_domains')
30
32
  TOP_LINKS = new('top_links')
31
33
  TOP_URLS = new('top_urls')
34
+ TOP_PARTNERS = new('top_partners')
32
35
  UTM_SOURCES = new('utm_sources')
33
36
  UTM_MEDIUMS = new('utm_mediums')
34
37
  UTM_CAMPAIGNS = new('utm_campaigns')
@@ -15,7 +15,7 @@ module OpenApiSDK
15
15
 
16
16
  # The destination URL of the short link.
17
17
  field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
18
- # The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
18
+ # The domain of the short link (without protocol). If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
19
19
  field :domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
20
20
  # The short link slug. If not provided, a random 7-character slug will be generated.
21
21
  field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
@@ -13,7 +13,7 @@ module OpenApiSDK
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
- # The unique ID of the click that the lead conversion event is attributed to. You can read this value from `dub_id` cookie. If an empty string is provided, Dub will try to find an existing customer with the provided `customerExternalId` and use the `clickId` from the customer if found.
16
+ # The unique ID of the click that the lead conversion event is attributed to. You can read this value from `dub_id` cookie. [For deferred lead tracking]: If an empty string is provided, Dub will try to find an existing customer with the provided `customerExternalId` and use the `clickId` from the customer if found.
17
17
  field :click_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('clickId'), required: true } }
18
18
  # The name of the lead event to track. Can also be used as a unique identifier to associate a given lead event for a customer for a subsequent sale event (via the `leadEventName` prop in `/track/sale`).
19
19
  field :event_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('eventName'), required: true } }
@@ -15,12 +15,15 @@ module OpenApiSDK
15
15
 
16
16
  # The name of the folder.
17
17
  field :name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
18
+ # The description of the folder.
19
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description') } }
18
20
  # The access level of the folder within the workspace.
19
21
  field :access_level, Crystalline::Nilable.new(Models::Operations::UpdateFolderAccessLevel), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(Models::Operations::UpdateFolderAccessLevel, true) } }
20
22
 
21
- sig { params(name: T.nilable(::String), access_level: T.nilable(Models::Operations::UpdateFolderAccessLevel)).void }
22
- def initialize(name: nil, access_level: nil)
23
+ sig { params(name: T.nilable(::String), description: T.nilable(::String), access_level: T.nilable(Models::Operations::UpdateFolderAccessLevel)).void }
24
+ def initialize(name: nil, description: nil, access_level: nil)
23
25
  @name = name
26
+ @description = description
24
27
  @access_level = access_level
25
28
  end
26
29
 
@@ -28,6 +31,7 @@ module OpenApiSDK
28
31
  def ==(other)
29
32
  return false unless other.is_a? self.class
30
33
  return false unless @name == other.name
34
+ return false unless @description == other.description
31
35
  return false unless @access_level == other.access_level
32
36
  true
33
37
  end
@@ -10,6 +10,8 @@ end
10
10
  class OpenApiSDK::Models::Operations::UpdateFolderRequestBody
11
11
  def name(); end
12
12
  def name=(str_); end
13
+ def description(); end
14
+ def description=(str_); end
13
15
  def access_level(); end
14
16
  def access_level=(str_); end
15
17
  end
@@ -15,7 +15,7 @@ module OpenApiSDK
15
15
 
16
16
  # The destination URL of the short link.
17
17
  field :url, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } }
18
- # The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
18
+ # The domain of the short link (without protocol). If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
19
19
  field :domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
20
20
  # The short link slug. If not provided, a random 7-character slug will be generated.
21
21
  field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
@@ -15,7 +15,7 @@ module OpenApiSDK
15
15
 
16
16
  # The destination URL of the short link.
17
17
  field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
18
- # The domain of the short link. If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
18
+ # The domain of the short link (without protocol). If not provided, the primary domain for the workspace will be used (or `dub.sh` if the workspace has no domains).
19
19
  field :domain, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } }
20
20
  # The short link slug. If not provided, a random 7-character slug will be generated.
21
21
  field :key, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } }
@@ -38,8 +38,10 @@ module OpenApiSDK
38
38
  # The partner's country (required for tax purposes).
39
39
  field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
40
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)
41
+ field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
42
+
43
+ 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), group_id: T.nilable(::String)).void }
44
+ 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, group_id: nil)
43
45
  @id = id
44
46
  @name = name
45
47
  @total_clicks = total_clicks
@@ -52,6 +54,7 @@ module OpenApiSDK
52
54
  @image = image
53
55
  @payouts_enabled_at = payouts_enabled_at
54
56
  @country = country
57
+ @group_id = group_id
55
58
  end
56
59
 
57
60
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -69,6 +72,7 @@ module OpenApiSDK
69
72
  return false unless @image == other.image
70
73
  return false unless @payouts_enabled_at == other.payouts_enabled_at
71
74
  return false unless @country == other.country
75
+ return false unless @group_id == other.group_id
72
76
  true
73
77
  end
74
78
  end
@@ -32,4 +32,6 @@ class OpenApiSDK::Models::Shared::CommissionCreatedEventPartner
32
32
  def payouts_enabled_at=(str_); end
33
33
  def country(); end
34
34
  def country=(str_); end
35
+ def group_id(); end
36
+ def group_id=(str_); end
35
37
  end
@@ -23,16 +23,19 @@ module OpenApiSDK
23
23
  field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
24
24
  # The date the folder was updated.
25
25
  field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt'), required: true } }
26
+ # The description of the folder.
27
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
26
28
  # The access level of the folder within the workspace.
27
29
  field :access_level, Crystalline::Nilable.new(Models::Shared::AccessLevel), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(Models::Shared::AccessLevel, true) } }
28
30
 
29
- sig { params(id: ::String, name: ::String, type: Models::Shared::Type, created_at: ::String, updated_at: ::String, access_level: T.nilable(Models::Shared::AccessLevel)).void }
30
- def initialize(id:, name:, type:, created_at:, updated_at:, access_level: nil)
31
+ sig { params(id: ::String, name: ::String, type: Models::Shared::Type, created_at: ::String, updated_at: ::String, description: T.nilable(::String), access_level: T.nilable(Models::Shared::AccessLevel)).void }
32
+ def initialize(id:, name:, type:, created_at:, updated_at:, description: nil, access_level: nil)
31
33
  @id = id
32
34
  @name = name
33
35
  @type = type
34
36
  @created_at = created_at
35
37
  @updated_at = updated_at
38
+ @description = description
36
39
  @access_level = access_level
37
40
  end
38
41
 
@@ -44,6 +47,7 @@ module OpenApiSDK
44
47
  return false unless @type == other.type
45
48
  return false unless @created_at == other.created_at
46
49
  return false unless @updated_at == other.updated_at
50
+ return false unless @description == other.description
47
51
  return false unless @access_level == other.access_level
48
52
  true
49
53
  end
@@ -18,6 +18,8 @@ class OpenApiSDK::Models::Shared::FolderSchema
18
18
  def created_at=(str_); end
19
19
  def updated_at(); end
20
20
  def updated_at=(str_); end
21
+ def description(); end
22
+ def description=(str_); end
21
23
  def access_level(); end
22
24
  def access_level=(str_); end
23
25
  end
@@ -80,7 +80,7 @@ module OpenApiSDK
80
80
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
81
81
  field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
82
82
  # The tags assigned to the short link.
83
- field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
83
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
84
84
  # The unique ID of the folder assigned to the short link.
85
85
  field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
86
86
  # The comments for the short link.
@@ -118,7 +118,7 @@ module OpenApiSDK
118
118
  # The total dollar value of sales (in cents) generated by the short link.
119
119
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
120
 
121
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::TagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
121
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadCreatedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
122
122
  def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
123
123
  @id = id
124
124
  @domain = domain
@@ -80,7 +80,7 @@ module OpenApiSDK
80
80
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
81
81
  field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
82
82
  # The tags assigned to the short link.
83
- field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
83
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
84
84
  # The unique ID of the folder assigned to the short link.
85
85
  field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
86
86
  # The comments for the short link.
@@ -118,7 +118,7 @@ module OpenApiSDK
118
118
  # The total dollar value of sales (in cents) generated by the short link.
119
119
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
120
 
121
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::TagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
121
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LeadEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
122
122
  def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
123
123
  @id = id
124
124
  @domain = domain
@@ -80,7 +80,7 @@ module OpenApiSDK
80
80
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
81
81
  field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
82
82
  # The tags assigned to the short link.
83
- field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
83
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
84
84
  # The unique ID of the folder assigned to the short link.
85
85
  field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
86
86
  # The comments for the short link.
@@ -118,7 +118,7 @@ module OpenApiSDK
118
118
  # The total dollar value of sales (in cents) generated by the short link.
119
119
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
120
 
121
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::TagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::ClickEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
121
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::ClickEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
122
122
  def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
123
123
  @id = id
124
124
  @domain = domain
@@ -80,7 +80,7 @@ module OpenApiSDK
80
80
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
81
81
  field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
82
82
  # The tags assigned to the short link.
83
- field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
83
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
84
84
  # The unique ID of the folder assigned to the short link.
85
85
  field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
86
86
  # The comments for the short link.
@@ -118,7 +118,7 @@ module OpenApiSDK
118
118
  # The total dollar value of sales (in cents) generated by the short link.
119
119
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
120
 
121
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::TagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkClickedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
121
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkClickedEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
122
122
  def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
123
123
  @id = id
124
124
  @domain = domain
@@ -66,7 +66,7 @@ module OpenApiSDK
66
66
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
67
67
  field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
68
68
  # The tags assigned to the short link.
69
- field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
69
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
70
70
  # The unique ID of the folder assigned to the short link.
71
71
  field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
72
72
  # The comments for the short link.
@@ -118,7 +118,7 @@ module OpenApiSDK
118
118
  # The total dollar value of sales (in cents) generated by the short link.
119
119
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
120
 
121
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::TagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), last_clicked: T.nilable(::String), tag_id: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), test_variants: T.nilable(T::Array[Models::Shared::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
121
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expires_at: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), user_id: T.nilable(::String), last_clicked: T.nilable(::String), tag_id: T.nilable(::String), track_conversion: T.nilable(T::Boolean), archived: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), test_variants: T.nilable(T::Array[Models::Shared::TestVariants]), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
122
122
  def initialize(id:, domain:, key:, url:, webhook_ids:, short_link:, qr_code:, workspace_id:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expires_at: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, user_id: nil, last_clicked: nil, tag_id: nil, track_conversion: false, archived: false, proxy: false, rewrite: false, do_index: false, public_stats: false, test_variants: nil, test_started_at: nil, test_completed_at: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
123
123
  @id = id
124
124
  @domain = domain
@@ -9,7 +9,7 @@ module OpenApiSDK
9
9
  module Shared
10
10
 
11
11
 
12
- class TagSchema
12
+ class LinkTagSchema
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class OpenApiSDK::Models::Shared::TagSchema
5
+ class OpenApiSDK::Models::Shared::LinkTagSchema
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class OpenApiSDK::Models::Shared::TagSchema
10
+ class OpenApiSDK::Models::Shared::LinkTagSchema
11
11
  def id(); end
12
12
  def id=(str_); end
13
13
  def name(); end
@@ -80,7 +80,7 @@ module OpenApiSDK
80
80
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information.
81
81
  field :geo, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo'), required: true } }
82
82
  # The tags assigned to the short link.
83
- field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::TagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
83
+ field :tags, Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::LinkTagSchema)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tags'), required: true } }
84
84
  # The unique ID of the folder assigned to the short link.
85
85
  field :folder_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId'), required: true } }
86
86
  # The comments for the short link.
@@ -118,7 +118,7 @@ module OpenApiSDK
118
118
  # The total dollar value of sales (in cents) generated by the short link.
119
119
  field :sale_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('saleAmount') } }
120
120
 
121
- sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::TagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkWebhookEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
121
+ sig { params(id: ::String, domain: ::String, key: ::String, url: ::String, track_conversion: T::Boolean, archived: T::Boolean, expires_at: ::String, proxy: T::Boolean, rewrite: T::Boolean, do_index: T::Boolean, public_stats: T::Boolean, webhook_ids: T::Array[::String], short_link: ::String, qr_code: ::String, workspace_id: ::String, last_clicked: ::String, created_at: ::String, updated_at: ::String, project_id: ::String, external_id: T.nilable(::String), tenant_id: T.nilable(::String), program_id: T.nilable(::String), partner_id: T.nilable(::String), expired_url: T.nilable(::String), password: T.nilable(::String), title: T.nilable(::String), description: T.nilable(::String), image: T.nilable(::String), video: T.nilable(::String), ios: T.nilable(::String), android: T.nilable(::String), geo: T.nilable(T::Hash[Symbol, ::String]), tags: T.nilable(T::Array[Models::Shared::LinkTagSchema]), folder_id: T.nilable(::String), comments: T.nilable(::String), utm_source: T.nilable(::String), utm_medium: T.nilable(::String), utm_campaign: T.nilable(::String), utm_term: T.nilable(::String), utm_content: T.nilable(::String), test_started_at: T.nilable(::String), test_completed_at: T.nilable(::String), user_id: T.nilable(::String), tag_id: T.nilable(::String), test_variants: T.nilable(T::Array[Models::Shared::LinkWebhookEventTestVariants]), clicks: T.nilable(::Float), leads: T.nilable(::Float), conversions: T.nilable(::Float), sales: T.nilable(::Float), sale_amount: T.nilable(::Float)).void }
122
122
  def initialize(id:, domain:, key:, url:, track_conversion:, archived:, expires_at:, proxy:, rewrite:, do_index:, public_stats:, webhook_ids:, short_link:, qr_code:, workspace_id:, last_clicked:, created_at:, updated_at:, project_id:, external_id: nil, tenant_id: nil, program_id: nil, partner_id: nil, expired_url: nil, password: nil, title: nil, description: nil, image: nil, video: nil, ios: nil, android: nil, geo: nil, tags: nil, folder_id: nil, comments: nil, utm_source: nil, utm_medium: nil, utm_campaign: nil, utm_term: nil, utm_content: nil, test_started_at: nil, test_completed_at: nil, user_id: nil, tag_id: nil, test_variants: nil, clicks: 0.0, leads: 0.0, conversions: 0.0, sales: 0.0, sale_amount: 0.0)
123
123
  @id = id
124
124
  @domain = domain
@@ -38,8 +38,10 @@ module OpenApiSDK
38
38
  # The partner's country (required for tax purposes).
39
39
  field :country, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country'), required: true } }
40
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)
41
+ field :group_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('groupId') } }
42
+
43
+ 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), group_id: T.nilable(::String)).void }
44
+ 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, group_id: nil)
43
45
  @id = id
44
46
  @name = name
45
47
  @total_clicks = total_clicks
@@ -52,6 +54,7 @@ module OpenApiSDK
52
54
  @image = image
53
55
  @payouts_enabled_at = payouts_enabled_at
54
56
  @country = country
57
+ @group_id = group_id
55
58
  end
56
59
 
57
60
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -69,6 +72,7 @@ module OpenApiSDK
69
72
  return false unless @image == other.image
70
73
  return false unless @payouts_enabled_at == other.payouts_enabled_at
71
74
  return false unless @country == other.country
75
+ return false unless @group_id == other.group_id
72
76
  true
73
77
  end
74
78
  end
@@ -32,4 +32,6 @@ class OpenApiSDK::Models::Shared::Partner
32
32
  def payouts_enabled_at=(str_); end
33
33
  def country(); end
34
34
  def country=(str_); end
35
+ def group_id(); end
36
+ def group_id=(str_); end
35
37
  end