dub 0.2.2.pre.alpha.61 → 0.2.2.pre.alpha.63

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/dub.rb +1 -0
  3. data/lib/open_api_sdk/dub.rb +2 -1
  4. data/lib/open_api_sdk/folders.rb +359 -0
  5. data/lib/open_api_sdk/models/operations/{createpartner_interval.rb → accesslevel.rb} +4 -4
  6. data/lib/open_api_sdk/models/operations/createcustomer_responsebody.rb +1 -1
  7. data/lib/open_api_sdk/models/operations/createfolder_requestbody.rb +27 -0
  8. data/lib/open_api_sdk/models/operations/createfolder_response.rb +60 -0
  9. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +5 -2
  10. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +11 -23
  11. data/lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb +5 -2
  12. data/lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb +5 -5
  13. data/lib/open_api_sdk/models/operations/createpartnerlink_response.rb +1 -1
  14. data/lib/open_api_sdk/models/operations/data.rb +5 -2
  15. data/lib/open_api_sdk/models/operations/deletecustomer_request.rb +1 -1
  16. data/lib/open_api_sdk/models/operations/deletecustomer_responsebody.rb +1 -1
  17. data/lib/open_api_sdk/models/operations/deletefolder_request.rb +24 -0
  18. data/lib/open_api_sdk/models/operations/deletefolder_response.rb +60 -0
  19. data/lib/open_api_sdk/models/operations/deletefolder_responsebody.rb +24 -0
  20. data/lib/open_api_sdk/models/operations/getcustomer_request.rb +1 -1
  21. data/lib/open_api_sdk/models/operations/getcustomer_responsebody.rb +1 -1
  22. data/lib/open_api_sdk/models/operations/getlinks_request.rb +5 -2
  23. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +5 -2
  24. data/lib/open_api_sdk/models/operations/interval.rb +3 -1
  25. data/lib/open_api_sdk/models/operations/linkprops.rb +5 -2
  26. data/lib/open_api_sdk/models/operations/listevents_request.rb +5 -2
  27. data/lib/open_api_sdk/models/operations/listfolders_request.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/listfolders_response.rb +60 -0
  29. data/lib/open_api_sdk/models/operations/queryparam_groupby.rb +19 -0
  30. data/lib/open_api_sdk/models/operations/queryparam_interval.rb +3 -1
  31. data/lib/open_api_sdk/models/operations/requestbody.rb +5 -2
  32. data/lib/open_api_sdk/models/operations/responsebody.rb +1 -1
  33. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +5 -2
  34. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb +26 -0
  35. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb +45 -0
  36. data/lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb +60 -0
  37. data/lib/open_api_sdk/models/operations/updatecustomer_request.rb +1 -1
  38. data/lib/open_api_sdk/models/operations/updatecustomer_responsebody.rb +1 -1
  39. data/lib/open_api_sdk/models/operations/{createpartner_type.rb → updatefolder_accesslevel.rb} +4 -4
  40. data/lib/open_api_sdk/models/operations/updatefolder_request.rb +27 -0
  41. data/lib/open_api_sdk/models/operations/updatefolder_requestbody.rb +27 -0
  42. data/lib/open_api_sdk/models/operations/updatefolder_response.rb +60 -0
  43. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +5 -2
  44. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +5 -2
  45. data/lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb +102 -0
  46. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +39 -0
  47. data/lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb +60 -0
  48. data/lib/open_api_sdk/models/operations.rb +19 -3
  49. data/lib/open_api_sdk/models/shared/accesslevel.rb +18 -0
  50. data/lib/open_api_sdk/models/shared/folderschema.rb +39 -0
  51. data/lib/open_api_sdk/models/shared/link.rb +5 -2
  52. data/lib/open_api_sdk/models/shared/linkschema.rb +5 -2
  53. data/lib/open_api_sdk/models/shared/workspaceschema.rb +5 -2
  54. data/lib/open_api_sdk/models/shared.rb +2 -0
  55. data/lib/open_api_sdk/partners.rb +166 -1
  56. data/lib/open_api_sdk/sdkconfiguration.rb +3 -3
  57. metadata +24 -5
  58. data/lib/open_api_sdk/models/operations/createpartner_discount.rb +0 -42
@@ -0,0 +1,39 @@
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 Shared
9
+
10
+
11
+ class FolderSchema < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The access level of the folder within the workspace.
15
+ field :access_level, ::OpenApiSDK::Shared::AccessLevel, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accessLevel'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Shared::AccessLevel, false) } }
16
+ # The date the folder was created.
17
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
18
+ # The unique ID of the folder.
19
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
20
+ # The number of links in the folder.
21
+ field :link_count, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linkCount') } }
22
+ # The name of the folder.
23
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
24
+ # The date the folder was updated.
25
+ field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }
26
+
27
+
28
+ sig { params(access_level: ::OpenApiSDK::Shared::AccessLevel, created_at: ::String, id: ::String, link_count: ::Float, name: ::String, updated_at: ::String).void }
29
+ def initialize(access_level: nil, created_at: nil, id: nil, link_count: nil, name: nil, updated_at: nil)
30
+ @access_level = access_level
31
+ @created_at = created_at
32
+ @id = id
33
+ @link_count = link_count
34
+ @name = name
35
+ @updated_at = updated_at
36
+ end
37
+ end
38
+ end
39
+ end
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :expires_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
30
30
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
31
31
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
32
+ # The unique ID of the folder assigned to the short link.
33
+ field :folder_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
32
34
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo
33
35
  field :geo, ::OpenApiSDK::Shared::ClickEventGeo, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
34
36
  # The unique ID of the short link.
@@ -107,8 +109,8 @@ module OpenApiSDK
107
109
  field :track_conversion, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('trackConversion') } }
108
110
 
109
111
 
110
- sig { params(android: ::String, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, geo: ::OpenApiSDK::Shared::ClickEventGeo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, qr_code: ::String, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String, archived: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), track_conversion: T.nilable(T::Boolean)).void }
111
- def initialize(android: nil, clicks: nil, comments: nil, created_at: nil, description: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, qr_code: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil, archived: nil, do_index: nil, proxy: nil, public_stats: nil, rewrite: nil, track_conversion: nil)
112
+ sig { params(android: ::String, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, folder_id: ::String, geo: ::OpenApiSDK::Shared::ClickEventGeo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, qr_code: ::String, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String, archived: T.nilable(T::Boolean), do_index: T.nilable(T::Boolean), proxy: T.nilable(T::Boolean), public_stats: T.nilable(T::Boolean), rewrite: T.nilable(T::Boolean), track_conversion: T.nilable(T::Boolean)).void }
113
+ def initialize(android: nil, clicks: nil, comments: nil, created_at: nil, description: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, qr_code: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil, archived: nil, do_index: nil, proxy: nil, public_stats: nil, rewrite: nil, track_conversion: nil)
112
114
  @android = android
113
115
  @clicks = clicks
114
116
  @comments = comments
@@ -118,6 +120,7 @@ module OpenApiSDK
118
120
  @expired_url = expired_url
119
121
  @expires_at = expires_at
120
122
  @external_id = external_id
123
+ @folder_id = folder_id
121
124
  @geo = geo
122
125
  @id = id
123
126
  @image = image
@@ -33,6 +33,8 @@ module OpenApiSDK
33
33
  field :expires_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiresAt') } }
34
34
  # The ID of the link in your database. If set, it can be used to identify the link in future API requests (must be prefixed with 'ext_' when passed as a query parameter). This key is unique across your workspace.
35
35
  field :external_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('externalId') } }
36
+ # The unique ID of the folder assigned to the short link.
37
+ field :folder_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('folderId') } }
36
38
  # Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo
37
39
  field :geo, ::OpenApiSDK::Shared::Geo, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('geo') } }
38
40
  # The unique ID of the short link.
@@ -107,8 +109,8 @@ module OpenApiSDK
107
109
  field :workspace_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('workspaceId') } }
108
110
 
109
111
 
110
- sig { params(android: ::String, archived: T::Boolean, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, do_index: T::Boolean, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, geo: ::OpenApiSDK::Shared::Geo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, proxy: T::Boolean, public_stats: T::Boolean, qr_code: ::String, rewrite: T::Boolean, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, track_conversion: T::Boolean, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String).void }
111
- def initialize(android: nil, archived: nil, clicks: nil, comments: nil, created_at: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, proxy: nil, public_stats: nil, qr_code: nil, rewrite: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, track_conversion: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil)
112
+ sig { params(android: ::String, archived: T::Boolean, clicks: ::Float, comments: ::String, created_at: ::String, description: ::String, do_index: T::Boolean, domain: ::String, expired_url: ::String, expires_at: ::String, external_id: ::String, folder_id: ::String, geo: ::OpenApiSDK::Shared::Geo, id: ::String, image: ::String, ios: ::String, key: ::String, last_clicked: ::String, leads: ::Float, partner_id: ::String, password: ::String, program_id: ::String, project_id: ::String, proxy: T::Boolean, public_stats: T::Boolean, qr_code: ::String, rewrite: T::Boolean, sale_amount: ::Float, sales: ::Float, short_link: ::String, tag_id: ::String, tags: T::Array[::OpenApiSDK::Shared::TagSchema], tenant_id: ::String, title: ::String, track_conversion: T::Boolean, updated_at: ::String, url: ::String, user_id: ::String, utm_campaign: ::String, utm_content: ::String, utm_medium: ::String, utm_source: ::String, utm_term: ::String, video: ::String, webhook_ids: T::Array[::String], workspace_id: ::String).void }
113
+ def initialize(android: nil, archived: nil, clicks: nil, comments: nil, created_at: nil, description: nil, do_index: nil, domain: nil, expired_url: nil, expires_at: nil, external_id: nil, folder_id: nil, geo: nil, id: nil, image: nil, ios: nil, key: nil, last_clicked: nil, leads: nil, partner_id: nil, password: nil, program_id: nil, project_id: nil, proxy: nil, public_stats: nil, qr_code: nil, rewrite: nil, sale_amount: nil, sales: nil, short_link: nil, tag_id: nil, tags: nil, tenant_id: nil, title: nil, track_conversion: nil, updated_at: nil, url: nil, user_id: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_source: nil, utm_term: nil, video: nil, webhook_ids: nil, workspace_id: nil)
112
114
  @android = android
113
115
  @archived = archived
114
116
  @clicks = clicks
@@ -120,6 +122,7 @@ module OpenApiSDK
120
122
  @expired_url = expired_url
121
123
  @expires_at = expires_at
122
124
  @external_id = external_id
125
+ @folder_id = folder_id
123
126
  @geo = geo
124
127
  @id = id
125
128
  @image = image
@@ -29,6 +29,8 @@ module OpenApiSDK
29
29
  field :domains_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domainsLimit') } }
30
30
  # Whether the workspace has claimed a free .link domain. (dub.link/free)
31
31
  field :dot_link_claimed, T::Boolean, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('dotLinkClaimed') } }
32
+ # The folders limit of the workspace.
33
+ field :folders_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('foldersLimit') } }
32
34
  # The unique ID of the workspace.
33
35
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
34
36
  # The invite code of the workspace.
@@ -73,8 +75,8 @@ module OpenApiSDK
73
75
  field :flags, T.nilable(T::Hash[Symbol, T::Boolean]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('flags') } }
74
76
 
75
77
 
76
- sig { params(ai_limit: ::Float, ai_usage: ::Float, allowed_hostnames: T::Array[::String], billing_cycle_start: ::Float, conversion_enabled: T::Boolean, created_at: ::String, domains: T::Array[::OpenApiSDK::Shared::Domains], domains_limit: ::Float, dot_link_claimed: T::Boolean, id: ::String, invite_code: ::String, links_limit: ::Float, links_usage: ::Float, logo: ::String, name: ::String, partners_enabled: T::Boolean, payment_failed_at: ::String, plan: ::OpenApiSDK::Shared::Plan, sales_limit: ::Float, sales_usage: ::Float, slug: ::String, store: T::Hash[Symbol, ::Object], stripe_connect_id: ::String, stripe_id: ::String, tags_limit: ::Float, usage: ::Float, usage_limit: ::Float, users: T::Array[::OpenApiSDK::Shared::Users], users_limit: ::Float, flags: T.nilable(T::Hash[Symbol, T::Boolean])).void }
77
- def initialize(ai_limit: nil, ai_usage: nil, allowed_hostnames: nil, billing_cycle_start: nil, conversion_enabled: nil, created_at: nil, domains: nil, domains_limit: nil, dot_link_claimed: nil, id: nil, invite_code: nil, links_limit: nil, links_usage: nil, logo: nil, name: nil, partners_enabled: nil, payment_failed_at: nil, plan: nil, sales_limit: nil, sales_usage: nil, slug: nil, store: nil, stripe_connect_id: nil, stripe_id: nil, tags_limit: nil, usage: nil, usage_limit: nil, users: nil, users_limit: nil, flags: nil)
78
+ sig { params(ai_limit: ::Float, ai_usage: ::Float, allowed_hostnames: T::Array[::String], billing_cycle_start: ::Float, conversion_enabled: T::Boolean, created_at: ::String, domains: T::Array[::OpenApiSDK::Shared::Domains], domains_limit: ::Float, dot_link_claimed: T::Boolean, folders_limit: ::Float, id: ::String, invite_code: ::String, links_limit: ::Float, links_usage: ::Float, logo: ::String, name: ::String, partners_enabled: T::Boolean, payment_failed_at: ::String, plan: ::OpenApiSDK::Shared::Plan, sales_limit: ::Float, sales_usage: ::Float, slug: ::String, store: T::Hash[Symbol, ::Object], stripe_connect_id: ::String, stripe_id: ::String, tags_limit: ::Float, usage: ::Float, usage_limit: ::Float, users: T::Array[::OpenApiSDK::Shared::Users], users_limit: ::Float, flags: T.nilable(T::Hash[Symbol, T::Boolean])).void }
79
+ def initialize(ai_limit: nil, ai_usage: nil, allowed_hostnames: nil, billing_cycle_start: nil, conversion_enabled: nil, created_at: nil, domains: nil, domains_limit: nil, dot_link_claimed: nil, folders_limit: nil, id: nil, invite_code: nil, links_limit: nil, links_usage: nil, logo: nil, name: nil, partners_enabled: nil, payment_failed_at: nil, plan: nil, sales_limit: nil, sales_usage: nil, slug: nil, store: nil, stripe_connect_id: nil, stripe_id: nil, tags_limit: nil, usage: nil, usage_limit: nil, users: nil, users_limit: nil, flags: nil)
78
80
  @ai_limit = ai_limit
79
81
  @ai_usage = ai_usage
80
82
  @allowed_hostnames = allowed_hostnames
@@ -84,6 +86,7 @@ module OpenApiSDK
84
86
  @domains = domains
85
87
  @domains_limit = domains_limit
86
88
  @dot_link_claimed = dot_link_claimed
89
+ @folders_limit = folders_limit
87
90
  @id = id
88
91
  @invite_code = invite_code
89
92
  @links_limit = links_limit
@@ -44,6 +44,8 @@ module OpenApiSDK
44
44
  autoload :ClickEventGeo, 'open_api_sdk/models/shared/clickevent_geo.rb'
45
45
  autoload :Link, 'open_api_sdk/models/shared/link.rb'
46
46
  autoload :ClickEvent, 'open_api_sdk/models/shared/clickevent.rb'
47
+ autoload :AccessLevel, 'open_api_sdk/models/shared/accesslevel.rb'
48
+ autoload :FolderSchema, 'open_api_sdk/models/shared/folderschema.rb'
47
49
  autoload :RegisteredDomain, 'open_api_sdk/models/shared/registereddomain.rb'
48
50
  autoload :DomainSchema, 'open_api_sdk/models/shared/domainschema.rb'
49
51
  autoload :Plan, 'open_api_sdk/models/shared/plan.rb'
@@ -108,7 +108,7 @@ module OpenApiSDK
108
108
  sig { params(request: T.nilable(::OpenApiSDK::Operations::CreatePartnerLinkRequestBody)).returns(::OpenApiSDK::Operations::CreatePartnerLinkResponse) }
109
109
  def create_link(request)
110
110
  # create_link - Create a link for a partner
111
- # Create a new link for a partner that is enrolled in your program
111
+ # Create a new link for a partner that is enrolled in your program.
112
112
  url, params = @sdk_configuration.get_server_details
113
113
  base_url = Utils.template_url(url, params)
114
114
  url = "#{base_url}/partners/links"
@@ -189,5 +189,170 @@ module OpenApiSDK
189
189
 
190
190
  res
191
191
  end
192
+
193
+
194
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::UpsertPartnerLinkRequestBody)).returns(::OpenApiSDK::Operations::UpsertPartnerLinkResponse) }
195
+ def upsert_link(request)
196
+ # upsert_link - Upsert a link for a partner
197
+ # Upsert a link for a partner that is enrolled in your program. If a link with the same URL already exists, return it (or update it if there are any changes). Otherwise, a new link will be created.
198
+ url, params = @sdk_configuration.get_server_details
199
+ base_url = Utils.template_url(url, params)
200
+ url = "#{base_url}/partners/links/upsert"
201
+ headers = {}
202
+ req_content_type, data, form = Utils.serialize_request_body(request, :request, :json)
203
+ headers['content-type'] = req_content_type
204
+ headers['Accept'] = 'application/json'
205
+ headers['user-agent'] = @sdk_configuration.user_agent
206
+
207
+ r = @sdk_configuration.client.put(url) do |req|
208
+ req.headers = headers
209
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
210
+ if form
211
+ req.body = Utils.encode_form(form)
212
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
213
+ req.body = URI.encode_www_form(data)
214
+ else
215
+ req.body = data
216
+ end
217
+ end
218
+
219
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
220
+
221
+ res = ::OpenApiSDK::Operations::UpsertPartnerLinkResponse.new(
222
+ status_code: r.status, content_type: content_type, raw_response: r
223
+ )
224
+ if r.status == 200
225
+ if Utils.match_content_type(content_type, 'application/json')
226
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::LinkSchema)
227
+ res.link_schema = out
228
+ end
229
+ elsif r.status == 400
230
+ if Utils.match_content_type(content_type, 'application/json')
231
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
232
+ res.bad_request = out
233
+ end
234
+ elsif r.status == 401
235
+ if Utils.match_content_type(content_type, 'application/json')
236
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
237
+ res.unauthorized = out
238
+ end
239
+ elsif r.status == 403
240
+ if Utils.match_content_type(content_type, 'application/json')
241
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
242
+ res.forbidden = out
243
+ end
244
+ elsif r.status == 404
245
+ if Utils.match_content_type(content_type, 'application/json')
246
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
247
+ res.not_found = out
248
+ end
249
+ elsif r.status == 409
250
+ if Utils.match_content_type(content_type, 'application/json')
251
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
252
+ res.conflict = out
253
+ end
254
+ elsif r.status == 410
255
+ if Utils.match_content_type(content_type, 'application/json')
256
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
257
+ res.invite_expired = out
258
+ end
259
+ elsif r.status == 422
260
+ if Utils.match_content_type(content_type, 'application/json')
261
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
262
+ res.unprocessable_entity = out
263
+ end
264
+ elsif r.status == 429
265
+ if Utils.match_content_type(content_type, 'application/json')
266
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
267
+ res.rate_limit_exceeded = out
268
+ end
269
+ elsif r.status == 500
270
+ if Utils.match_content_type(content_type, 'application/json')
271
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
272
+ res.internal_server_error = out
273
+ end
274
+ end
275
+
276
+ res
277
+ end
278
+
279
+
280
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest)).returns(::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse) }
281
+ def analytics(request)
282
+ # analytics - Retrieve analytics for a partner
283
+ # Retrieve analytics for a partner within a program. The response type vary based on the `groupBy` query parameter.
284
+ url, params = @sdk_configuration.get_server_details
285
+ base_url = Utils.template_url(url, params)
286
+ url = "#{base_url}/partners/analytics"
287
+ headers = {}
288
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::RetrievePartnerAnalyticsRequest, request)
289
+ headers['Accept'] = 'application/json'
290
+ headers['user-agent'] = @sdk_configuration.user_agent
291
+
292
+ r = @sdk_configuration.client.get(url) do |req|
293
+ req.headers = headers
294
+ req.params = query_params
295
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
296
+ end
297
+
298
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
299
+
300
+ res = ::OpenApiSDK::Operations::RetrievePartnerAnalyticsResponse.new(
301
+ status_code: r.status, content_type: content_type, raw_response: r
302
+ )
303
+ if r.status == 200
304
+ if Utils.match_content_type(content_type, 'application/json')
305
+ out = Utils.unmarshal_complex(r.env.response_body, ::Object)
306
+ res.one_of = out
307
+ end
308
+ elsif r.status == 400
309
+ if Utils.match_content_type(content_type, 'application/json')
310
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
311
+ res.bad_request = out
312
+ end
313
+ elsif r.status == 401
314
+ if Utils.match_content_type(content_type, 'application/json')
315
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
316
+ res.unauthorized = out
317
+ end
318
+ elsif r.status == 403
319
+ if Utils.match_content_type(content_type, 'application/json')
320
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
321
+ res.forbidden = out
322
+ end
323
+ elsif r.status == 404
324
+ if Utils.match_content_type(content_type, 'application/json')
325
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
326
+ res.not_found = out
327
+ end
328
+ elsif r.status == 409
329
+ if Utils.match_content_type(content_type, 'application/json')
330
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
331
+ res.conflict = out
332
+ end
333
+ elsif r.status == 410
334
+ if Utils.match_content_type(content_type, 'application/json')
335
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
336
+ res.invite_expired = out
337
+ end
338
+ elsif r.status == 422
339
+ if Utils.match_content_type(content_type, 'application/json')
340
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
341
+ res.unprocessable_entity = out
342
+ end
343
+ elsif r.status == 429
344
+ if Utils.match_content_type(content_type, 'application/json')
345
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
346
+ res.rate_limit_exceeded = out
347
+ end
348
+ elsif r.status == 500
349
+ if Utils.match_content_type(content_type, 'application/json')
350
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
351
+ res.internal_server_error = out
352
+ end
353
+ end
354
+
355
+ res
356
+ end
192
357
  end
193
358
  end
@@ -38,9 +38,9 @@ module OpenApiSDK
38
38
  @security = security
39
39
  @language = 'ruby'
40
40
  @openapi_doc_version = '0.0.1'
41
- @sdk_version = '0.2.2-alpha.61'
42
- @gen_version = '2.503.2'
43
- @user_agent = 'speakeasy-sdk/ruby 0.2.2-alpha.61 2.503.2 0.0.1 dub'
41
+ @sdk_version = '0.2.2-alpha.63'
42
+ @gen_version = '2.506.0'
43
+ @user_agent = 'speakeasy-sdk/ruby 0.2.2-alpha.63 2.506.0 0.0.1 dub'
44
44
  end
45
45
 
46
46
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2.pre.alpha.61
4
+ version: 0.2.2.pre.alpha.63
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-06 00:00:00.000000000 Z
11
+ date: 2025-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -149,9 +149,11 @@ files:
149
149
  - lib/open_api_sdk/dub.rb
150
150
  - lib/open_api_sdk/embed_tokens.rb
151
151
  - lib/open_api_sdk/events.rb
152
+ - lib/open_api_sdk/folders.rb
152
153
  - lib/open_api_sdk/links.rb
153
154
  - lib/open_api_sdk/metatags.rb
154
155
  - lib/open_api_sdk/models/operations.rb
156
+ - lib/open_api_sdk/models/operations/accesslevel.rb
155
157
  - lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb
156
158
  - lib/open_api_sdk/models/operations/bulkdeletelinks_request.rb
157
159
  - lib/open_api_sdk/models/operations/bulkdeletelinks_response.rb
@@ -174,14 +176,13 @@ files:
174
176
  - lib/open_api_sdk/models/operations/createembedtoken_requestbody.rb
175
177
  - lib/open_api_sdk/models/operations/createembedtoken_response.rb
176
178
  - lib/open_api_sdk/models/operations/createembedtoken_responsebody.rb
179
+ - lib/open_api_sdk/models/operations/createfolder_requestbody.rb
180
+ - lib/open_api_sdk/models/operations/createfolder_response.rb
177
181
  - lib/open_api_sdk/models/operations/createlink_requestbody.rb
178
182
  - lib/open_api_sdk/models/operations/createlink_response.rb
179
- - lib/open_api_sdk/models/operations/createpartner_discount.rb
180
- - lib/open_api_sdk/models/operations/createpartner_interval.rb
181
183
  - lib/open_api_sdk/models/operations/createpartner_requestbody.rb
182
184
  - lib/open_api_sdk/models/operations/createpartner_response.rb
183
185
  - lib/open_api_sdk/models/operations/createpartner_responsebody.rb
184
- - lib/open_api_sdk/models/operations/createpartner_type.rb
185
186
  - lib/open_api_sdk/models/operations/createpartnerlink_linkprops.rb
186
187
  - lib/open_api_sdk/models/operations/createpartnerlink_requestbody.rb
187
188
  - lib/open_api_sdk/models/operations/createpartnerlink_response.rb
@@ -195,6 +196,9 @@ files:
195
196
  - lib/open_api_sdk/models/operations/deletedomain_request.rb
196
197
  - lib/open_api_sdk/models/operations/deletedomain_response.rb
197
198
  - lib/open_api_sdk/models/operations/deletedomain_responsebody.rb
199
+ - lib/open_api_sdk/models/operations/deletefolder_request.rb
200
+ - lib/open_api_sdk/models/operations/deletefolder_response.rb
201
+ - lib/open_api_sdk/models/operations/deletefolder_responsebody.rb
198
202
  - lib/open_api_sdk/models/operations/deletelink_request.rb
199
203
  - lib/open_api_sdk/models/operations/deletelink_response.rb
200
204
  - lib/open_api_sdk/models/operations/deletelink_responsebody.rb
@@ -241,10 +245,13 @@ files:
241
245
  - lib/open_api_sdk/models/operations/listdomains_response.rb
242
246
  - lib/open_api_sdk/models/operations/listevents_request.rb
243
247
  - lib/open_api_sdk/models/operations/listevents_response.rb
248
+ - lib/open_api_sdk/models/operations/listfolders_request.rb
249
+ - lib/open_api_sdk/models/operations/listfolders_response.rb
244
250
  - lib/open_api_sdk/models/operations/order.rb
245
251
  - lib/open_api_sdk/models/operations/partner.rb
246
252
  - lib/open_api_sdk/models/operations/paymentprocessor.rb
247
253
  - lib/open_api_sdk/models/operations/queryparam_event.rb
254
+ - lib/open_api_sdk/models/operations/queryparam_groupby.rb
248
255
  - lib/open_api_sdk/models/operations/queryparam_interval.rb
249
256
  - lib/open_api_sdk/models/operations/queryparam_sortby.rb
250
257
  - lib/open_api_sdk/models/operations/queryparam_sortorder.rb
@@ -253,6 +260,9 @@ files:
253
260
  - lib/open_api_sdk/models/operations/responsebody.rb
254
261
  - lib/open_api_sdk/models/operations/retrieveanalytics_request.rb
255
262
  - lib/open_api_sdk/models/operations/retrieveanalytics_response.rb
263
+ - lib/open_api_sdk/models/operations/retrievepartneranalytics_queryparam_interval.rb
264
+ - lib/open_api_sdk/models/operations/retrievepartneranalytics_request.rb
265
+ - lib/open_api_sdk/models/operations/retrievepartneranalytics_response.rb
256
266
  - lib/open_api_sdk/models/operations/sale.rb
257
267
  - lib/open_api_sdk/models/operations/sort.rb
258
268
  - lib/open_api_sdk/models/operations/sortby.rb
@@ -279,6 +289,10 @@ files:
279
289
  - lib/open_api_sdk/models/operations/updatedomain_request.rb
280
290
  - lib/open_api_sdk/models/operations/updatedomain_requestbody.rb
281
291
  - lib/open_api_sdk/models/operations/updatedomain_response.rb
292
+ - lib/open_api_sdk/models/operations/updatefolder_accesslevel.rb
293
+ - lib/open_api_sdk/models/operations/updatefolder_request.rb
294
+ - lib/open_api_sdk/models/operations/updatefolder_requestbody.rb
295
+ - lib/open_api_sdk/models/operations/updatefolder_response.rb
282
296
  - lib/open_api_sdk/models/operations/updatelink_request.rb
283
297
  - lib/open_api_sdk/models/operations/updatelink_requestbody.rb
284
298
  - lib/open_api_sdk/models/operations/updatelink_response.rb
@@ -291,7 +305,11 @@ files:
291
305
  - lib/open_api_sdk/models/operations/updateworkspace_response.rb
292
306
  - lib/open_api_sdk/models/operations/upsertlink_requestbody.rb
293
307
  - lib/open_api_sdk/models/operations/upsertlink_response.rb
308
+ - lib/open_api_sdk/models/operations/upsertpartnerlink_linkprops.rb
309
+ - lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb
310
+ - lib/open_api_sdk/models/operations/upsertpartnerlink_response.rb
294
311
  - lib/open_api_sdk/models/shared.rb
312
+ - lib/open_api_sdk/models/shared/accesslevel.rb
295
313
  - lib/open_api_sdk/models/shared/badrequest.rb
296
314
  - lib/open_api_sdk/models/shared/click.rb
297
315
  - lib/open_api_sdk/models/shared/clickevent.rb
@@ -307,6 +325,7 @@ files:
307
325
  - lib/open_api_sdk/models/shared/domainschema.rb
308
326
  - lib/open_api_sdk/models/shared/error.rb
309
327
  - lib/open_api_sdk/models/shared/event.rb
328
+ - lib/open_api_sdk/models/shared/folderschema.rb
310
329
  - lib/open_api_sdk/models/shared/forbidden.rb
311
330
  - lib/open_api_sdk/models/shared/forbidden_code.rb
312
331
  - lib/open_api_sdk/models/shared/forbidden_error.rb
@@ -1,42 +0,0 @@
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 Operations
9
-
10
-
11
- class CreatePartnerDiscount < ::OpenApiSDK::Utils::FieldAugmented
12
- extend T::Sig
13
-
14
-
15
- field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
-
17
- field :coupon_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('couponId') } }
18
-
19
- field :coupon_test_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('couponTestId') } }
20
-
21
- field :duration, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('duration') } }
22
-
23
- field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
24
-
25
- field :interval, ::OpenApiSDK::Operations::CreatePartnerInterval, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('interval'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::CreatePartnerInterval, false) } }
26
-
27
- field :type, ::OpenApiSDK::Operations::CreatePartnerType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::CreatePartnerType, false) } }
28
-
29
-
30
- sig { params(amount: ::Float, coupon_id: ::String, coupon_test_id: ::String, duration: ::Float, id: ::String, interval: ::OpenApiSDK::Operations::CreatePartnerInterval, type: ::OpenApiSDK::Operations::CreatePartnerType).void }
31
- def initialize(amount: nil, coupon_id: nil, coupon_test_id: nil, duration: nil, id: nil, interval: nil, type: nil)
32
- @amount = amount
33
- @coupon_id = coupon_id
34
- @coupon_test_id = coupon_test_id
35
- @duration = duration
36
- @id = id
37
- @interval = interval
38
- @type = type
39
- end
40
- end
41
- end
42
- end