dub 0.0.2

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 (131) hide show
  1. checksums.yaml +7 -0
  2. data/lib/dub.rb +23 -0
  3. data/lib/open_api_sdk/analytics.rb +99 -0
  4. data/lib/open_api_sdk/domains.rb +577 -0
  5. data/lib/open_api_sdk/dub.rb +107 -0
  6. data/lib/open_api_sdk/links.rb +724 -0
  7. data/lib/open_api_sdk/metatags.rb +58 -0
  8. data/lib/open_api_sdk/models/operations/adddomain_request.rb +30 -0
  9. data/lib/open_api_sdk/models/operations/adddomain_requestbody.rb +42 -0
  10. data/lib/open_api_sdk/models/operations/adddomain_response.rb +60 -0
  11. data/lib/open_api_sdk/models/operations/bulkcreatelinks_request.rb +30 -0
  12. data/lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb +60 -0
  13. data/lib/open_api_sdk/models/operations/color.rb +24 -0
  14. data/lib/open_api_sdk/models/operations/createlink_request.rb +30 -0
  15. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +92 -0
  16. data/lib/open_api_sdk/models/operations/createlink_response.rb +60 -0
  17. data/lib/open_api_sdk/models/operations/createtag_request.rb +30 -0
  18. data/lib/open_api_sdk/models/operations/createtag_requestbody.rb +27 -0
  19. data/lib/open_api_sdk/models/operations/createtag_response.rb +60 -0
  20. data/lib/open_api_sdk/models/operations/createworkspace_requestbody.rb +30 -0
  21. data/lib/open_api_sdk/models/operations/createworkspace_response.rb +60 -0
  22. data/lib/open_api_sdk/models/operations/deletedomain_request.rb +30 -0
  23. data/lib/open_api_sdk/models/operations/deletedomain_response.rb +60 -0
  24. data/lib/open_api_sdk/models/operations/deletedomain_responsebody.rb +24 -0
  25. data/lib/open_api_sdk/models/operations/deletelink_request.rb +30 -0
  26. data/lib/open_api_sdk/models/operations/deletelink_response.rb +60 -0
  27. data/lib/open_api_sdk/models/operations/deletelink_responsebody.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/event.rb +21 -0
  29. data/lib/open_api_sdk/models/operations/getlinkinfo_request.rb +39 -0
  30. data/lib/open_api_sdk/models/operations/getlinkinfo_response.rb +60 -0
  31. data/lib/open_api_sdk/models/operations/getlinks_request.rb +57 -0
  32. data/lib/open_api_sdk/models/operations/getlinks_response.rb +60 -0
  33. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +54 -0
  34. data/lib/open_api_sdk/models/operations/getlinkscount_response.rb +60 -0
  35. data/lib/open_api_sdk/models/operations/getmetatags_request.rb +24 -0
  36. data/lib/open_api_sdk/models/operations/getmetatags_response.rb +33 -0
  37. data/lib/open_api_sdk/models/operations/getmetatags_responsebody.rb +30 -0
  38. data/lib/open_api_sdk/models/operations/getqrcode_request.rb +39 -0
  39. data/lib/open_api_sdk/models/operations/getqrcode_response.rb +60 -0
  40. data/lib/open_api_sdk/models/operations/gettags_request.rb +27 -0
  41. data/lib/open_api_sdk/models/operations/gettags_response.rb +60 -0
  42. data/lib/open_api_sdk/models/operations/getworkspace_request.rb +24 -0
  43. data/lib/open_api_sdk/models/operations/getworkspace_response.rb +60 -0
  44. data/lib/open_api_sdk/models/operations/getworkspaces_response.rb +60 -0
  45. data/lib/open_api_sdk/models/operations/groupby.rb +28 -0
  46. data/lib/open_api_sdk/models/operations/interval.rb +25 -0
  47. data/lib/open_api_sdk/models/operations/level.rb +21 -0
  48. data/lib/open_api_sdk/models/operations/listdomains_request.rb +27 -0
  49. data/lib/open_api_sdk/models/operations/listdomains_response.rb +60 -0
  50. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +20 -0
  51. data/lib/open_api_sdk/models/operations/requestbody.rb +92 -0
  52. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +87 -0
  53. data/lib/open_api_sdk/models/operations/retrieveanalytics_response.rb +60 -0
  54. data/lib/open_api_sdk/models/operations/setprimarydomain_request.rb +30 -0
  55. data/lib/open_api_sdk/models/operations/setprimarydomain_response.rb +60 -0
  56. data/lib/open_api_sdk/models/operations/sort.rb +20 -0
  57. data/lib/open_api_sdk/models/operations/trackcustomer_requestbody.rb +33 -0
  58. data/lib/open_api_sdk/models/operations/trackcustomer_response.rb +60 -0
  59. data/lib/open_api_sdk/models/operations/trackcustomer_responsebody.rb +33 -0
  60. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +42 -0
  61. data/lib/open_api_sdk/models/operations/tracklead_response.rb +60 -0
  62. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +42 -0
  63. data/lib/open_api_sdk/models/operations/tracksale_requestbody.rb +39 -0
  64. data/lib/open_api_sdk/models/operations/tracksale_response.rb +60 -0
  65. data/lib/open_api_sdk/models/operations/tracksale_responsebody.rb +39 -0
  66. data/lib/open_api_sdk/models/operations/transferdomain_request.rb +33 -0
  67. data/lib/open_api_sdk/models/operations/transferdomain_requestbody.rb +24 -0
  68. data/lib/open_api_sdk/models/operations/transferdomain_response.rb +60 -0
  69. data/lib/open_api_sdk/models/operations/type.rb +19 -0
  70. data/lib/open_api_sdk/models/operations/updatedomain_request.rb +33 -0
  71. data/lib/open_api_sdk/models/operations/updatedomain_requestbody.rb +42 -0
  72. data/lib/open_api_sdk/models/operations/updatedomain_response.rb +60 -0
  73. data/lib/open_api_sdk/models/operations/updatedomain_type.rb +19 -0
  74. data/lib/open_api_sdk/models/operations/updatelink_request.rb +33 -0
  75. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +92 -0
  76. data/lib/open_api_sdk/models/operations/updatelink_response.rb +60 -0
  77. data/lib/open_api_sdk/models/operations/upsertlink_request.rb +30 -0
  78. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +92 -0
  79. data/lib/open_api_sdk/models/operations/upsertlink_response.rb +60 -0
  80. data/lib/open_api_sdk/models/operations.rb +81 -0
  81. data/lib/open_api_sdk/models/shared/badrequest.rb +24 -0
  82. data/lib/open_api_sdk/models/shared/code.rb +18 -0
  83. data/lib/open_api_sdk/models/shared/color.rb +24 -0
  84. data/lib/open_api_sdk/models/shared/conflict.rb +24 -0
  85. data/lib/open_api_sdk/models/shared/conflict_code.rb +18 -0
  86. data/lib/open_api_sdk/models/shared/conflict_error.rb +30 -0
  87. data/lib/open_api_sdk/models/shared/countrycode.rb +267 -0
  88. data/lib/open_api_sdk/models/shared/domains.rb +27 -0
  89. data/lib/open_api_sdk/models/shared/domainschema.rb +54 -0
  90. data/lib/open_api_sdk/models/shared/error.rb +30 -0
  91. data/lib/open_api_sdk/models/shared/forbidden.rb +24 -0
  92. data/lib/open_api_sdk/models/shared/forbidden_code.rb +18 -0
  93. data/lib/open_api_sdk/models/shared/forbidden_error.rb +30 -0
  94. data/lib/open_api_sdk/models/shared/geo.rb +771 -0
  95. data/lib/open_api_sdk/models/shared/internalservererror.rb +24 -0
  96. data/lib/open_api_sdk/models/shared/internalservererror_code.rb +18 -0
  97. data/lib/open_api_sdk/models/shared/internalservererror_error.rb +30 -0
  98. data/lib/open_api_sdk/models/shared/inviteexpired.rb +24 -0
  99. data/lib/open_api_sdk/models/shared/inviteexpired_code.rb +18 -0
  100. data/lib/open_api_sdk/models/shared/inviteexpired_error.rb +30 -0
  101. data/lib/open_api_sdk/models/shared/linkgeotargeting.rb +771 -0
  102. data/lib/open_api_sdk/models/shared/linkschema.rb +139 -0
  103. data/lib/open_api_sdk/models/shared/notfound.rb +24 -0
  104. data/lib/open_api_sdk/models/shared/notfound_code.rb +18 -0
  105. data/lib/open_api_sdk/models/shared/notfound_error.rb +30 -0
  106. data/lib/open_api_sdk/models/shared/plan.rb +24 -0
  107. data/lib/open_api_sdk/models/shared/ratelimitexceeded.rb +24 -0
  108. data/lib/open_api_sdk/models/shared/ratelimitexceeded_code.rb +18 -0
  109. data/lib/open_api_sdk/models/shared/ratelimitexceeded_error.rb +30 -0
  110. data/lib/open_api_sdk/models/shared/role.rb +19 -0
  111. data/lib/open_api_sdk/models/shared/security.rb +24 -0
  112. data/lib/open_api_sdk/models/shared/tagschema.rb +30 -0
  113. data/lib/open_api_sdk/models/shared/type.rb +19 -0
  114. data/lib/open_api_sdk/models/shared/unauthorized.rb +24 -0
  115. data/lib/open_api_sdk/models/shared/unauthorized_code.rb +18 -0
  116. data/lib/open_api_sdk/models/shared/unauthorized_error.rb +30 -0
  117. data/lib/open_api_sdk/models/shared/unprocessableentity.rb +24 -0
  118. data/lib/open_api_sdk/models/shared/unprocessableentity_code.rb +18 -0
  119. data/lib/open_api_sdk/models/shared/unprocessableentity_error.rb +30 -0
  120. data/lib/open_api_sdk/models/shared/users.rb +24 -0
  121. data/lib/open_api_sdk/models/shared/workspaceschema.rb +81 -0
  122. data/lib/open_api_sdk/models/shared.rb +50 -0
  123. data/lib/open_api_sdk/qr_codes.rb +97 -0
  124. data/lib/open_api_sdk/sdkconfiguration.rb +54 -0
  125. data/lib/open_api_sdk/tags.rb +197 -0
  126. data/lib/open_api_sdk/track.rb +276 -0
  127. data/lib/open_api_sdk/utils/metadata_fields.rb +150 -0
  128. data/lib/open_api_sdk/utils/t.rb +59 -0
  129. data/lib/open_api_sdk/utils/utils.rb +772 -0
  130. data/lib/open_api_sdk/workspaces.rb +268 -0
  131. metadata +300 -0
@@ -0,0 +1,577 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+ class Domains
13
+ extend T::Sig
14
+
15
+
16
+ sig { params(sdk_config: SDKConfiguration).void }
17
+ def initialize(sdk_config)
18
+ @sdk_configuration = sdk_config
19
+ end
20
+
21
+
22
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String)).returns(::OpenApiSDK::Operations::ListDomainsResponse) }
23
+ def list(workspace_id = nil, project_slug = nil)
24
+ # list - Retrieve a list of domains
25
+ # Retrieve a list of domains associated with the authenticated workspace.
26
+ request = ::OpenApiSDK::Operations::ListDomainsRequest.new(
27
+
28
+ workspace_id: workspace_id,
29
+ project_slug: project_slug
30
+ )
31
+ url, params = @sdk_configuration.get_server_details
32
+ base_url = Utils.template_url(url, params)
33
+ url = "#{base_url}/domains"
34
+ headers = {}
35
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::ListDomainsRequest, request, @sdk_configuration.globals)
36
+ headers['Accept'] = 'application/json'
37
+ headers['user-agent'] = @sdk_configuration.user_agent
38
+
39
+ r = @sdk_configuration.client.get(url) do |req|
40
+ req.headers = headers
41
+ req.params = query_params
42
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
43
+ end
44
+
45
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
46
+
47
+ res = ::OpenApiSDK::Operations::ListDomainsResponse.new(
48
+ status_code: r.status, content_type: content_type, raw_response: r
49
+ )
50
+ if r.status == 200
51
+ if Utils.match_content_type(content_type, 'application/json')
52
+ out = Utils.unmarshal_complex(r.env.response_body, T::Array[::OpenApiSDK::Shared::DomainSchema])
53
+ res.domain_schemas = out
54
+ end
55
+ elsif r.status == 400
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
58
+ res.bad_request = out
59
+ end
60
+ elsif r.status == 401
61
+ if Utils.match_content_type(content_type, 'application/json')
62
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
63
+ res.unauthorized = out
64
+ end
65
+ elsif r.status == 403
66
+ if Utils.match_content_type(content_type, 'application/json')
67
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
68
+ res.forbidden = out
69
+ end
70
+ elsif r.status == 404
71
+ if Utils.match_content_type(content_type, 'application/json')
72
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
73
+ res.not_found = out
74
+ end
75
+ elsif r.status == 409
76
+ if Utils.match_content_type(content_type, 'application/json')
77
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
78
+ res.conflict = out
79
+ end
80
+ elsif r.status == 410
81
+ if Utils.match_content_type(content_type, 'application/json')
82
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
83
+ res.invite_expired = out
84
+ end
85
+ elsif r.status == 422
86
+ if Utils.match_content_type(content_type, 'application/json')
87
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
88
+ res.unprocessable_entity = out
89
+ end
90
+ elsif r.status == 429
91
+ if Utils.match_content_type(content_type, 'application/json')
92
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
93
+ res.rate_limit_exceeded = out
94
+ end
95
+ elsif r.status == 500
96
+ if Utils.match_content_type(content_type, 'application/json')
97
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
98
+ res.internal_server_error = out
99
+ end
100
+ end
101
+ res
102
+ end
103
+
104
+
105
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::AddDomainRequestBody)).returns(::OpenApiSDK::Operations::AddDomainResponse) }
106
+ def add(workspace_id = nil, project_slug = nil, request_body = nil)
107
+ # add - Add a domain
108
+ # Add a domain to the authenticated workspace.
109
+ request = ::OpenApiSDK::Operations::AddDomainRequest.new(
110
+
111
+ workspace_id: workspace_id,
112
+ project_slug: project_slug,
113
+ request_body: request_body
114
+ )
115
+ url, params = @sdk_configuration.get_server_details
116
+ base_url = Utils.template_url(url, params)
117
+ url = "#{base_url}/domains"
118
+ headers = {}
119
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
120
+ headers['content-type'] = req_content_type
121
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::AddDomainRequest, request, @sdk_configuration.globals)
122
+ headers['Accept'] = 'application/json'
123
+ headers['user-agent'] = @sdk_configuration.user_agent
124
+
125
+ r = @sdk_configuration.client.post(url) do |req|
126
+ req.headers = headers
127
+ req.params = query_params
128
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
129
+ if form
130
+ req.body = Utils.encode_form(form)
131
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
132
+ req.body = URI.encode_www_form(data)
133
+ else
134
+ req.body = data
135
+ end
136
+ end
137
+
138
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
139
+
140
+ res = ::OpenApiSDK::Operations::AddDomainResponse.new(
141
+ status_code: r.status, content_type: content_type, raw_response: r
142
+ )
143
+ if r.status == 201
144
+ if Utils.match_content_type(content_type, 'application/json')
145
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::DomainSchema)
146
+ res.domain_schema = out
147
+ end
148
+ elsif r.status == 400
149
+ if Utils.match_content_type(content_type, 'application/json')
150
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
151
+ res.bad_request = out
152
+ end
153
+ elsif r.status == 401
154
+ if Utils.match_content_type(content_type, 'application/json')
155
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
156
+ res.unauthorized = out
157
+ end
158
+ elsif r.status == 403
159
+ if Utils.match_content_type(content_type, 'application/json')
160
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
161
+ res.forbidden = out
162
+ end
163
+ elsif r.status == 404
164
+ if Utils.match_content_type(content_type, 'application/json')
165
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
166
+ res.not_found = out
167
+ end
168
+ elsif r.status == 409
169
+ if Utils.match_content_type(content_type, 'application/json')
170
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
171
+ res.conflict = out
172
+ end
173
+ elsif r.status == 410
174
+ if Utils.match_content_type(content_type, 'application/json')
175
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
176
+ res.invite_expired = out
177
+ end
178
+ elsif r.status == 422
179
+ if Utils.match_content_type(content_type, 'application/json')
180
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
181
+ res.unprocessable_entity = out
182
+ end
183
+ elsif r.status == 429
184
+ if Utils.match_content_type(content_type, 'application/json')
185
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
186
+ res.rate_limit_exceeded = out
187
+ end
188
+ elsif r.status == 500
189
+ if Utils.match_content_type(content_type, 'application/json')
190
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
191
+ res.internal_server_error = out
192
+ end
193
+ end
194
+ res
195
+ end
196
+
197
+
198
+ sig { params(slug: ::String, workspace_id: T.nilable(::String), project_slug: T.nilable(::String)).returns(::OpenApiSDK::Operations::DeleteDomainResponse) }
199
+ def delete(slug, workspace_id = nil, project_slug = nil)
200
+ # delete - Delete a domain
201
+ # Delete a domain from a workspace. It cannot be undone. This will also delete all the links associated with the domain.
202
+ request = ::OpenApiSDK::Operations::DeleteDomainRequest.new(
203
+
204
+ slug: slug,
205
+ workspace_id: workspace_id,
206
+ project_slug: project_slug
207
+ )
208
+ url, params = @sdk_configuration.get_server_details
209
+ base_url = Utils.template_url(url, params)
210
+ url = Utils.generate_url(
211
+ ::OpenApiSDK::Operations::DeleteDomainRequest,
212
+ base_url,
213
+ '/domains/{slug}',
214
+ request,
215
+ @sdk_configuration.globals
216
+ )
217
+ headers = {}
218
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::DeleteDomainRequest, request, @sdk_configuration.globals)
219
+ headers['Accept'] = 'application/json'
220
+ headers['user-agent'] = @sdk_configuration.user_agent
221
+
222
+ r = @sdk_configuration.client.delete(url) do |req|
223
+ req.headers = headers
224
+ req.params = query_params
225
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
226
+ end
227
+
228
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
229
+
230
+ res = ::OpenApiSDK::Operations::DeleteDomainResponse.new(
231
+ status_code: r.status, content_type: content_type, raw_response: r
232
+ )
233
+ if r.status == 200
234
+ if Utils.match_content_type(content_type, 'application/json')
235
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Operations::DeleteDomainResponseBody)
236
+ res.object = out
237
+ end
238
+ elsif r.status == 400
239
+ if Utils.match_content_type(content_type, 'application/json')
240
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
241
+ res.bad_request = out
242
+ end
243
+ elsif r.status == 401
244
+ if Utils.match_content_type(content_type, 'application/json')
245
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
246
+ res.unauthorized = out
247
+ end
248
+ elsif r.status == 403
249
+ if Utils.match_content_type(content_type, 'application/json')
250
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
251
+ res.forbidden = out
252
+ end
253
+ elsif r.status == 404
254
+ if Utils.match_content_type(content_type, 'application/json')
255
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
256
+ res.not_found = out
257
+ end
258
+ elsif r.status == 409
259
+ if Utils.match_content_type(content_type, 'application/json')
260
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
261
+ res.conflict = out
262
+ end
263
+ elsif r.status == 410
264
+ if Utils.match_content_type(content_type, 'application/json')
265
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
266
+ res.invite_expired = out
267
+ end
268
+ elsif r.status == 422
269
+ if Utils.match_content_type(content_type, 'application/json')
270
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
271
+ res.unprocessable_entity = out
272
+ end
273
+ elsif r.status == 429
274
+ if Utils.match_content_type(content_type, 'application/json')
275
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
276
+ res.rate_limit_exceeded = out
277
+ end
278
+ elsif r.status == 500
279
+ if Utils.match_content_type(content_type, 'application/json')
280
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
281
+ res.internal_server_error = out
282
+ end
283
+ end
284
+ res
285
+ end
286
+
287
+
288
+ sig { params(slug: ::String, workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::UpdateDomainRequestBody)).returns(::OpenApiSDK::Operations::UpdateDomainResponse) }
289
+ def update(slug, workspace_id = nil, project_slug = nil, request_body = nil)
290
+ # update - Update a domain
291
+ # Update a domain for the authenticated workspace.
292
+ request = ::OpenApiSDK::Operations::UpdateDomainRequest.new(
293
+
294
+ slug: slug,
295
+ workspace_id: workspace_id,
296
+ project_slug: project_slug,
297
+ request_body: request_body
298
+ )
299
+ url, params = @sdk_configuration.get_server_details
300
+ base_url = Utils.template_url(url, params)
301
+ url = Utils.generate_url(
302
+ ::OpenApiSDK::Operations::UpdateDomainRequest,
303
+ base_url,
304
+ '/domains/{slug}',
305
+ request,
306
+ @sdk_configuration.globals
307
+ )
308
+ headers = {}
309
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
310
+ headers['content-type'] = req_content_type
311
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::UpdateDomainRequest, request, @sdk_configuration.globals)
312
+ headers['Accept'] = 'application/json'
313
+ headers['user-agent'] = @sdk_configuration.user_agent
314
+
315
+ r = @sdk_configuration.client.patch(url) do |req|
316
+ req.headers = headers
317
+ req.params = query_params
318
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
319
+ if form
320
+ req.body = Utils.encode_form(form)
321
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
322
+ req.body = URI.encode_www_form(data)
323
+ else
324
+ req.body = data
325
+ end
326
+ end
327
+
328
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
329
+
330
+ res = ::OpenApiSDK::Operations::UpdateDomainResponse.new(
331
+ status_code: r.status, content_type: content_type, raw_response: r
332
+ )
333
+ if r.status == 200
334
+ if Utils.match_content_type(content_type, 'application/json')
335
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::DomainSchema)
336
+ res.domain_schema = out
337
+ end
338
+ elsif r.status == 400
339
+ if Utils.match_content_type(content_type, 'application/json')
340
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
341
+ res.bad_request = out
342
+ end
343
+ elsif r.status == 401
344
+ if Utils.match_content_type(content_type, 'application/json')
345
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
346
+ res.unauthorized = out
347
+ end
348
+ elsif r.status == 403
349
+ if Utils.match_content_type(content_type, 'application/json')
350
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
351
+ res.forbidden = out
352
+ end
353
+ elsif r.status == 404
354
+ if Utils.match_content_type(content_type, 'application/json')
355
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
356
+ res.not_found = out
357
+ end
358
+ elsif r.status == 409
359
+ if Utils.match_content_type(content_type, 'application/json')
360
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
361
+ res.conflict = out
362
+ end
363
+ elsif r.status == 410
364
+ if Utils.match_content_type(content_type, 'application/json')
365
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
366
+ res.invite_expired = out
367
+ end
368
+ elsif r.status == 422
369
+ if Utils.match_content_type(content_type, 'application/json')
370
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
371
+ res.unprocessable_entity = out
372
+ end
373
+ elsif r.status == 429
374
+ if Utils.match_content_type(content_type, 'application/json')
375
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
376
+ res.rate_limit_exceeded = out
377
+ end
378
+ elsif r.status == 500
379
+ if Utils.match_content_type(content_type, 'application/json')
380
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
381
+ res.internal_server_error = out
382
+ end
383
+ end
384
+ res
385
+ end
386
+
387
+
388
+ sig { params(slug: ::String, workspace_id: T.nilable(::String), project_slug: T.nilable(::String)).returns(::OpenApiSDK::Operations::SetPrimaryDomainResponse) }
389
+ def set_primary(slug, workspace_id = nil, project_slug = nil)
390
+ # set_primary - Set a domain as primary
391
+ # Set a domain as primary for the authenticated workspace.
392
+ request = ::OpenApiSDK::Operations::SetPrimaryDomainRequest.new(
393
+
394
+ slug: slug,
395
+ workspace_id: workspace_id,
396
+ project_slug: project_slug
397
+ )
398
+ url, params = @sdk_configuration.get_server_details
399
+ base_url = Utils.template_url(url, params)
400
+ url = Utils.generate_url(
401
+ ::OpenApiSDK::Operations::SetPrimaryDomainRequest,
402
+ base_url,
403
+ '/domains/{slug}/primary',
404
+ request,
405
+ @sdk_configuration.globals
406
+ )
407
+ headers = {}
408
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::SetPrimaryDomainRequest, request, @sdk_configuration.globals)
409
+ headers['Accept'] = 'application/json'
410
+ headers['user-agent'] = @sdk_configuration.user_agent
411
+
412
+ r = @sdk_configuration.client.post(url) do |req|
413
+ req.headers = headers
414
+ req.params = query_params
415
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
416
+ end
417
+
418
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
419
+
420
+ res = ::OpenApiSDK::Operations::SetPrimaryDomainResponse.new(
421
+ status_code: r.status, content_type: content_type, raw_response: r
422
+ )
423
+ if r.status == 200
424
+ if Utils.match_content_type(content_type, 'application/json')
425
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::DomainSchema)
426
+ res.domain_schema = out
427
+ end
428
+ elsif r.status == 400
429
+ if Utils.match_content_type(content_type, 'application/json')
430
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
431
+ res.bad_request = out
432
+ end
433
+ elsif r.status == 401
434
+ if Utils.match_content_type(content_type, 'application/json')
435
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
436
+ res.unauthorized = out
437
+ end
438
+ elsif r.status == 403
439
+ if Utils.match_content_type(content_type, 'application/json')
440
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
441
+ res.forbidden = out
442
+ end
443
+ elsif r.status == 404
444
+ if Utils.match_content_type(content_type, 'application/json')
445
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
446
+ res.not_found = out
447
+ end
448
+ elsif r.status == 409
449
+ if Utils.match_content_type(content_type, 'application/json')
450
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
451
+ res.conflict = out
452
+ end
453
+ elsif r.status == 410
454
+ if Utils.match_content_type(content_type, 'application/json')
455
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
456
+ res.invite_expired = out
457
+ end
458
+ elsif r.status == 422
459
+ if Utils.match_content_type(content_type, 'application/json')
460
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
461
+ res.unprocessable_entity = out
462
+ end
463
+ elsif r.status == 429
464
+ if Utils.match_content_type(content_type, 'application/json')
465
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
466
+ res.rate_limit_exceeded = out
467
+ end
468
+ elsif r.status == 500
469
+ if Utils.match_content_type(content_type, 'application/json')
470
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
471
+ res.internal_server_error = out
472
+ end
473
+ end
474
+ res
475
+ end
476
+
477
+
478
+ sig { params(slug: ::String, workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::TransferDomainRequestBody)).returns(::OpenApiSDK::Operations::TransferDomainResponse) }
479
+ def transfer(slug, workspace_id = nil, project_slug = nil, request_body = nil)
480
+ # transfer - Transfer a domain
481
+ # Transfer a domain to another workspace within the authenticated account.
482
+ request = ::OpenApiSDK::Operations::TransferDomainRequest.new(
483
+
484
+ slug: slug,
485
+ workspace_id: workspace_id,
486
+ project_slug: project_slug,
487
+ request_body: request_body
488
+ )
489
+ url, params = @sdk_configuration.get_server_details
490
+ base_url = Utils.template_url(url, params)
491
+ url = Utils.generate_url(
492
+ ::OpenApiSDK::Operations::TransferDomainRequest,
493
+ base_url,
494
+ '/domains/{slug}/transfer',
495
+ request,
496
+ @sdk_configuration.globals
497
+ )
498
+ headers = {}
499
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
500
+ headers['content-type'] = req_content_type
501
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::TransferDomainRequest, request, @sdk_configuration.globals)
502
+ headers['Accept'] = 'application/json'
503
+ headers['user-agent'] = @sdk_configuration.user_agent
504
+
505
+ r = @sdk_configuration.client.post(url) do |req|
506
+ req.headers = headers
507
+ req.params = query_params
508
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
509
+ if form
510
+ req.body = Utils.encode_form(form)
511
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
512
+ req.body = URI.encode_www_form(data)
513
+ else
514
+ req.body = data
515
+ end
516
+ end
517
+
518
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
519
+
520
+ res = ::OpenApiSDK::Operations::TransferDomainResponse.new(
521
+ status_code: r.status, content_type: content_type, raw_response: r
522
+ )
523
+ if r.status == 200
524
+ if Utils.match_content_type(content_type, 'application/json')
525
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::DomainSchema)
526
+ res.domain_schema = out
527
+ end
528
+ elsif r.status == 400
529
+ if Utils.match_content_type(content_type, 'application/json')
530
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
531
+ res.bad_request = out
532
+ end
533
+ elsif r.status == 401
534
+ if Utils.match_content_type(content_type, 'application/json')
535
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
536
+ res.unauthorized = out
537
+ end
538
+ elsif r.status == 403
539
+ if Utils.match_content_type(content_type, 'application/json')
540
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
541
+ res.forbidden = out
542
+ end
543
+ elsif r.status == 404
544
+ if Utils.match_content_type(content_type, 'application/json')
545
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
546
+ res.not_found = out
547
+ end
548
+ elsif r.status == 409
549
+ if Utils.match_content_type(content_type, 'application/json')
550
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
551
+ res.conflict = out
552
+ end
553
+ elsif r.status == 410
554
+ if Utils.match_content_type(content_type, 'application/json')
555
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
556
+ res.invite_expired = out
557
+ end
558
+ elsif r.status == 422
559
+ if Utils.match_content_type(content_type, 'application/json')
560
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
561
+ res.unprocessable_entity = out
562
+ end
563
+ elsif r.status == 429
564
+ if Utils.match_content_type(content_type, 'application/json')
565
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
566
+ res.rate_limit_exceeded = out
567
+ end
568
+ elsif r.status == 500
569
+ if Utils.match_content_type(content_type, 'application/json')
570
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
571
+ res.internal_server_error = out
572
+ end
573
+ end
574
+ res
575
+ end
576
+ end
577
+ end
@@ -0,0 +1,107 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+
13
+ class Dub
14
+ extend T::Sig
15
+
16
+ attr_accessor :links, :qr_codes, :analytics, :workspaces, :tags, :domains, :track, :metatags
17
+
18
+ sig do
19
+ params(client: Faraday::Request,
20
+ security: T.nilable(Shared::Security),
21
+ workspace_id: ::String,
22
+ project_slug: ::String,
23
+ server_idx: Integer,
24
+ server_url: String,
25
+ url_params: T::Hash[Symbol, String]).void
26
+ end
27
+ def initialize(client: nil,
28
+ security: nil,
29
+ workspace_id: nil,
30
+ project_slug: nil,
31
+ server_idx: nil,
32
+ server_url: nil,
33
+ url_params: nil)
34
+
35
+ ## Instantiates the SDK configuring it with the provided parameters.
36
+ # @param [Faraday::Request] client The faraday HTTP client to use for all operations
37
+ # @param [Shared::Security] security The security details required for authentication
38
+ # @param [::String] workspace_id: Configures the workspace_id parameter for all supported operations
39
+ # @param [::String] project_slug: Configures the project_slug parameter for all supported operations
40
+ # @param [::Integer] server_idx The index of the server to use for all operations
41
+ # @param [::String] server_url The server URL to use for all operations
42
+ # @param [::Hash<::Symbol, ::String>] url_params Parameters to optionally template the server URL with
43
+
44
+ if client.nil?
45
+ client = Faraday.new(request: {
46
+ params_encoder: Faraday::FlatParamsEncoder
47
+ }) do |f|
48
+ f.request :multipart, {}
49
+ # f.response :logger
50
+ end
51
+ end
52
+
53
+ if !server_url.nil?
54
+ if !url_params.nil?
55
+ server_url = Utils.template_url(server_url, url_params)
56
+ end
57
+ end
58
+ server_idx = 0 if server_idx.nil?
59
+
60
+ globals = {
61
+ 'parameters': {
62
+ 'queryParam': {
63
+ 'workspace_id': workspace_id,
64
+ 'project_slug': project_slug,
65
+ },
66
+ 'pathParam': {
67
+ },
68
+ 'header': {
69
+ }
70
+ }
71
+ }
72
+
73
+ @sdk_configuration = SDKConfiguration.new(client, security, server_url, server_idx, globals)
74
+ init_sdks
75
+ end
76
+
77
+ sig { params(server_url: String).void }
78
+ def config_server_url(server_url)
79
+ @sdk_configuration.server_url = server_url
80
+ init_sdks
81
+ end
82
+
83
+ sig { params(server_idx: Integer).void }
84
+ def config_server(server_idx)
85
+ raise StandardError, "Invalid server index #{server_idx}" if server_idx.negative? || server_idx >= SERVERS.length
86
+ @sdk_configuration.server_idx = server_idx
87
+ init_sdks
88
+ end
89
+
90
+ sig { params(security: ::OpenApiSDK::Shared::Security).void }
91
+ def config_security(security)
92
+ @sdk_configuration.security = security
93
+ end
94
+
95
+ sig { void }
96
+ def init_sdks
97
+ @links = Links.new(@sdk_configuration)
98
+ @qr_codes = QRCodes.new(@sdk_configuration)
99
+ @analytics = Analytics.new(@sdk_configuration)
100
+ @workspaces = Workspaces.new(@sdk_configuration)
101
+ @tags = Tags.new(@sdk_configuration)
102
+ @domains = Domains.new(@sdk_configuration)
103
+ @track = Track.new(@sdk_configuration)
104
+ @metatags = Metatags.new(@sdk_configuration)
105
+ end
106
+ end
107
+ end