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,724 @@
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 Links
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(request: T.nilable(::OpenApiSDK::Operations::GetLinksRequest)).returns(::OpenApiSDK::Operations::GetLinksResponse) }
23
+ def list(request)
24
+ # list - Retrieve a list of links
25
+ # Retrieve a list of links for the authenticated workspace. The list will be paginated and the provided query parameters allow filtering the returned links.
26
+ url, params = @sdk_configuration.get_server_details
27
+ base_url = Utils.template_url(url, params)
28
+ url = "#{base_url}/links"
29
+ headers = {}
30
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::GetLinksRequest, request, @sdk_configuration.globals)
31
+ headers['Accept'] = 'application/json'
32
+ headers['user-agent'] = @sdk_configuration.user_agent
33
+
34
+ r = @sdk_configuration.client.get(url) do |req|
35
+ req.headers = headers
36
+ req.params = query_params
37
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
38
+ end
39
+
40
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
41
+
42
+ res = ::OpenApiSDK::Operations::GetLinksResponse.new(
43
+ status_code: r.status, content_type: content_type, raw_response: r
44
+ )
45
+ if r.status == 200
46
+ if Utils.match_content_type(content_type, 'application/json')
47
+ out = Utils.unmarshal_complex(r.env.response_body, T::Array[::OpenApiSDK::Shared::LinkSchema])
48
+ res.link_schemas = out
49
+ end
50
+ elsif r.status == 400
51
+ if Utils.match_content_type(content_type, 'application/json')
52
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
53
+ res.bad_request = out
54
+ end
55
+ elsif r.status == 401
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
58
+ res.unauthorized = out
59
+ end
60
+ elsif r.status == 403
61
+ if Utils.match_content_type(content_type, 'application/json')
62
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
63
+ res.forbidden = out
64
+ end
65
+ elsif r.status == 404
66
+ if Utils.match_content_type(content_type, 'application/json')
67
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
68
+ res.not_found = out
69
+ end
70
+ elsif r.status == 409
71
+ if Utils.match_content_type(content_type, 'application/json')
72
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
73
+ res.conflict = out
74
+ end
75
+ elsif r.status == 410
76
+ if Utils.match_content_type(content_type, 'application/json')
77
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
78
+ res.invite_expired = out
79
+ end
80
+ elsif r.status == 422
81
+ if Utils.match_content_type(content_type, 'application/json')
82
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
83
+ res.unprocessable_entity = out
84
+ end
85
+ elsif r.status == 429
86
+ if Utils.match_content_type(content_type, 'application/json')
87
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
88
+ res.rate_limit_exceeded = out
89
+ end
90
+ elsif r.status == 500
91
+ if Utils.match_content_type(content_type, 'application/json')
92
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
93
+ res.internal_server_error = out
94
+ end
95
+ end
96
+ res
97
+ end
98
+
99
+
100
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::CreateLinkRequestBody)).returns(::OpenApiSDK::Operations::CreateLinkResponse) }
101
+ def create(workspace_id = nil, project_slug = nil, request_body = nil)
102
+ # create - Create a new link
103
+ # Create a new link for the authenticated workspace.
104
+ request = ::OpenApiSDK::Operations::CreateLinkRequest.new(
105
+
106
+ workspace_id: workspace_id,
107
+ project_slug: project_slug,
108
+ request_body: request_body
109
+ )
110
+ url, params = @sdk_configuration.get_server_details
111
+ base_url = Utils.template_url(url, params)
112
+ url = "#{base_url}/links"
113
+ headers = {}
114
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
115
+ headers['content-type'] = req_content_type
116
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::CreateLinkRequest, request, @sdk_configuration.globals)
117
+ headers['Accept'] = 'application/json'
118
+ headers['user-agent'] = @sdk_configuration.user_agent
119
+
120
+ r = @sdk_configuration.client.post(url) do |req|
121
+ req.headers = headers
122
+ req.params = query_params
123
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
124
+ if form
125
+ req.body = Utils.encode_form(form)
126
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
127
+ req.body = URI.encode_www_form(data)
128
+ else
129
+ req.body = data
130
+ end
131
+ end
132
+
133
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
134
+
135
+ res = ::OpenApiSDK::Operations::CreateLinkResponse.new(
136
+ status_code: r.status, content_type: content_type, raw_response: r
137
+ )
138
+ if r.status == 200
139
+ if Utils.match_content_type(content_type, 'application/json')
140
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::LinkSchema)
141
+ res.link_schema = out
142
+ end
143
+ elsif r.status == 400
144
+ if Utils.match_content_type(content_type, 'application/json')
145
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
146
+ res.bad_request = out
147
+ end
148
+ elsif r.status == 401
149
+ if Utils.match_content_type(content_type, 'application/json')
150
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
151
+ res.unauthorized = out
152
+ end
153
+ elsif r.status == 403
154
+ if Utils.match_content_type(content_type, 'application/json')
155
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
156
+ res.forbidden = out
157
+ end
158
+ elsif r.status == 404
159
+ if Utils.match_content_type(content_type, 'application/json')
160
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
161
+ res.not_found = out
162
+ end
163
+ elsif r.status == 409
164
+ if Utils.match_content_type(content_type, 'application/json')
165
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
166
+ res.conflict = out
167
+ end
168
+ elsif r.status == 410
169
+ if Utils.match_content_type(content_type, 'application/json')
170
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
171
+ res.invite_expired = out
172
+ end
173
+ elsif r.status == 422
174
+ if Utils.match_content_type(content_type, 'application/json')
175
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
176
+ res.unprocessable_entity = out
177
+ end
178
+ elsif r.status == 429
179
+ if Utils.match_content_type(content_type, 'application/json')
180
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
181
+ res.rate_limit_exceeded = out
182
+ end
183
+ elsif r.status == 500
184
+ if Utils.match_content_type(content_type, 'application/json')
185
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
186
+ res.internal_server_error = out
187
+ end
188
+ end
189
+ res
190
+ end
191
+
192
+
193
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::GetLinksCountRequest)).returns(::OpenApiSDK::Operations::GetLinksCountResponse) }
194
+ def count(request)
195
+ # count - Retrieve the number of links
196
+ # Retrieve the number of links for the authenticated workspace. The provided query parameters allow filtering the returned links.
197
+ url, params = @sdk_configuration.get_server_details
198
+ base_url = Utils.template_url(url, params)
199
+ url = "#{base_url}/links/count"
200
+ headers = {}
201
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::GetLinksCountRequest, request, @sdk_configuration.globals)
202
+ headers['Accept'] = 'application/json'
203
+ headers['user-agent'] = @sdk_configuration.user_agent
204
+
205
+ r = @sdk_configuration.client.get(url) do |req|
206
+ req.headers = headers
207
+ req.params = query_params
208
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
209
+ end
210
+
211
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
212
+
213
+ res = ::OpenApiSDK::Operations::GetLinksCountResponse.new(
214
+ status_code: r.status, content_type: content_type, raw_response: r
215
+ )
216
+ if r.status == 200
217
+ if Utils.match_content_type(content_type, 'application/json')
218
+ out = Utils.unmarshal_complex(r.env.response_body, ::Float)
219
+ res.number = out
220
+ end
221
+ elsif r.status == 400
222
+ if Utils.match_content_type(content_type, 'application/json')
223
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
224
+ res.bad_request = out
225
+ end
226
+ elsif r.status == 401
227
+ if Utils.match_content_type(content_type, 'application/json')
228
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
229
+ res.unauthorized = out
230
+ end
231
+ elsif r.status == 403
232
+ if Utils.match_content_type(content_type, 'application/json')
233
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
234
+ res.forbidden = out
235
+ end
236
+ elsif r.status == 404
237
+ if Utils.match_content_type(content_type, 'application/json')
238
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
239
+ res.not_found = out
240
+ end
241
+ elsif r.status == 409
242
+ if Utils.match_content_type(content_type, 'application/json')
243
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
244
+ res.conflict = out
245
+ end
246
+ elsif r.status == 410
247
+ if Utils.match_content_type(content_type, 'application/json')
248
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
249
+ res.invite_expired = out
250
+ end
251
+ elsif r.status == 422
252
+ if Utils.match_content_type(content_type, 'application/json')
253
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
254
+ res.unprocessable_entity = out
255
+ end
256
+ elsif r.status == 429
257
+ if Utils.match_content_type(content_type, 'application/json')
258
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
259
+ res.rate_limit_exceeded = out
260
+ end
261
+ elsif r.status == 500
262
+ if Utils.match_content_type(content_type, 'application/json')
263
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
264
+ res.internal_server_error = out
265
+ end
266
+ end
267
+ res
268
+ end
269
+
270
+
271
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::GetLinkInfoRequest)).returns(::OpenApiSDK::Operations::GetLinkInfoResponse) }
272
+ def get(request)
273
+ # get - Retrieve a link
274
+ # Retrieve the info for a link.
275
+ url, params = @sdk_configuration.get_server_details
276
+ base_url = Utils.template_url(url, params)
277
+ url = "#{base_url}/links/info"
278
+ headers = {}
279
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::GetLinkInfoRequest, request, @sdk_configuration.globals)
280
+ headers['Accept'] = 'application/json'
281
+ headers['user-agent'] = @sdk_configuration.user_agent
282
+
283
+ r = @sdk_configuration.client.get(url) do |req|
284
+ req.headers = headers
285
+ req.params = query_params
286
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
287
+ end
288
+
289
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
290
+
291
+ res = ::OpenApiSDK::Operations::GetLinkInfoResponse.new(
292
+ status_code: r.status, content_type: content_type, raw_response: r
293
+ )
294
+ if r.status == 200
295
+ if Utils.match_content_type(content_type, 'application/json')
296
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::LinkSchema)
297
+ res.link_schema = out
298
+ end
299
+ elsif r.status == 400
300
+ if Utils.match_content_type(content_type, 'application/json')
301
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
302
+ res.bad_request = out
303
+ end
304
+ elsif r.status == 401
305
+ if Utils.match_content_type(content_type, 'application/json')
306
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
307
+ res.unauthorized = out
308
+ end
309
+ elsif r.status == 403
310
+ if Utils.match_content_type(content_type, 'application/json')
311
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
312
+ res.forbidden = out
313
+ end
314
+ elsif r.status == 404
315
+ if Utils.match_content_type(content_type, 'application/json')
316
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
317
+ res.not_found = out
318
+ end
319
+ elsif r.status == 409
320
+ if Utils.match_content_type(content_type, 'application/json')
321
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
322
+ res.conflict = out
323
+ end
324
+ elsif r.status == 410
325
+ if Utils.match_content_type(content_type, 'application/json')
326
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
327
+ res.invite_expired = out
328
+ end
329
+ elsif r.status == 422
330
+ if Utils.match_content_type(content_type, 'application/json')
331
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
332
+ res.unprocessable_entity = out
333
+ end
334
+ elsif r.status == 429
335
+ if Utils.match_content_type(content_type, 'application/json')
336
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
337
+ res.rate_limit_exceeded = out
338
+ end
339
+ elsif r.status == 500
340
+ if Utils.match_content_type(content_type, 'application/json')
341
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
342
+ res.internal_server_error = out
343
+ end
344
+ end
345
+ res
346
+ end
347
+
348
+
349
+ sig { params(link_id: ::String, workspace_id: T.nilable(::String), project_slug: T.nilable(::String)).returns(::OpenApiSDK::Operations::DeleteLinkResponse) }
350
+ def delete(link_id, workspace_id = nil, project_slug = nil)
351
+ # delete - Delete a link
352
+ # Delete a link for the authenticated workspace.
353
+ request = ::OpenApiSDK::Operations::DeleteLinkRequest.new(
354
+
355
+ link_id: link_id,
356
+ workspace_id: workspace_id,
357
+ project_slug: project_slug
358
+ )
359
+ url, params = @sdk_configuration.get_server_details
360
+ base_url = Utils.template_url(url, params)
361
+ url = Utils.generate_url(
362
+ ::OpenApiSDK::Operations::DeleteLinkRequest,
363
+ base_url,
364
+ '/links/{linkId}',
365
+ request,
366
+ @sdk_configuration.globals
367
+ )
368
+ headers = {}
369
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::DeleteLinkRequest, request, @sdk_configuration.globals)
370
+ headers['Accept'] = 'application/json'
371
+ headers['user-agent'] = @sdk_configuration.user_agent
372
+
373
+ r = @sdk_configuration.client.delete(url) do |req|
374
+ req.headers = headers
375
+ req.params = query_params
376
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
377
+ end
378
+
379
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
380
+
381
+ res = ::OpenApiSDK::Operations::DeleteLinkResponse.new(
382
+ status_code: r.status, content_type: content_type, raw_response: r
383
+ )
384
+ if r.status == 200
385
+ if Utils.match_content_type(content_type, 'application/json')
386
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Operations::DeleteLinkResponseBody)
387
+ res.object = out
388
+ end
389
+ elsif r.status == 400
390
+ if Utils.match_content_type(content_type, 'application/json')
391
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
392
+ res.bad_request = out
393
+ end
394
+ elsif r.status == 401
395
+ if Utils.match_content_type(content_type, 'application/json')
396
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
397
+ res.unauthorized = out
398
+ end
399
+ elsif r.status == 403
400
+ if Utils.match_content_type(content_type, 'application/json')
401
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
402
+ res.forbidden = out
403
+ end
404
+ elsif r.status == 404
405
+ if Utils.match_content_type(content_type, 'application/json')
406
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
407
+ res.not_found = out
408
+ end
409
+ elsif r.status == 409
410
+ if Utils.match_content_type(content_type, 'application/json')
411
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
412
+ res.conflict = out
413
+ end
414
+ elsif r.status == 410
415
+ if Utils.match_content_type(content_type, 'application/json')
416
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
417
+ res.invite_expired = out
418
+ end
419
+ elsif r.status == 422
420
+ if Utils.match_content_type(content_type, 'application/json')
421
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
422
+ res.unprocessable_entity = out
423
+ end
424
+ elsif r.status == 429
425
+ if Utils.match_content_type(content_type, 'application/json')
426
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
427
+ res.rate_limit_exceeded = out
428
+ end
429
+ elsif r.status == 500
430
+ if Utils.match_content_type(content_type, 'application/json')
431
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
432
+ res.internal_server_error = out
433
+ end
434
+ end
435
+ res
436
+ end
437
+
438
+
439
+ sig { params(link_id: ::String, workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::UpdateLinkRequestBody)).returns(::OpenApiSDK::Operations::UpdateLinkResponse) }
440
+ def update(link_id, workspace_id = nil, project_slug = nil, request_body = nil)
441
+ # update - Update a link
442
+ # Update a link for the authenticated workspace. If there's no change, returns it as it is.
443
+ request = ::OpenApiSDK::Operations::UpdateLinkRequest.new(
444
+
445
+ link_id: link_id,
446
+ workspace_id: workspace_id,
447
+ project_slug: project_slug,
448
+ request_body: request_body
449
+ )
450
+ url, params = @sdk_configuration.get_server_details
451
+ base_url = Utils.template_url(url, params)
452
+ url = Utils.generate_url(
453
+ ::OpenApiSDK::Operations::UpdateLinkRequest,
454
+ base_url,
455
+ '/links/{linkId}',
456
+ request,
457
+ @sdk_configuration.globals
458
+ )
459
+ headers = {}
460
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
461
+ headers['content-type'] = req_content_type
462
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::UpdateLinkRequest, request, @sdk_configuration.globals)
463
+ headers['Accept'] = 'application/json'
464
+ headers['user-agent'] = @sdk_configuration.user_agent
465
+
466
+ r = @sdk_configuration.client.patch(url) do |req|
467
+ req.headers = headers
468
+ req.params = query_params
469
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
470
+ if form
471
+ req.body = Utils.encode_form(form)
472
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
473
+ req.body = URI.encode_www_form(data)
474
+ else
475
+ req.body = data
476
+ end
477
+ end
478
+
479
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
480
+
481
+ res = ::OpenApiSDK::Operations::UpdateLinkResponse.new(
482
+ status_code: r.status, content_type: content_type, raw_response: r
483
+ )
484
+ if r.status == 200
485
+ if Utils.match_content_type(content_type, 'application/json')
486
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::LinkSchema)
487
+ res.link_schema = out
488
+ end
489
+ elsif r.status == 400
490
+ if Utils.match_content_type(content_type, 'application/json')
491
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
492
+ res.bad_request = out
493
+ end
494
+ elsif r.status == 401
495
+ if Utils.match_content_type(content_type, 'application/json')
496
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
497
+ res.unauthorized = out
498
+ end
499
+ elsif r.status == 403
500
+ if Utils.match_content_type(content_type, 'application/json')
501
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
502
+ res.forbidden = out
503
+ end
504
+ elsif r.status == 404
505
+ if Utils.match_content_type(content_type, 'application/json')
506
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
507
+ res.not_found = out
508
+ end
509
+ elsif r.status == 409
510
+ if Utils.match_content_type(content_type, 'application/json')
511
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
512
+ res.conflict = out
513
+ end
514
+ elsif r.status == 410
515
+ if Utils.match_content_type(content_type, 'application/json')
516
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
517
+ res.invite_expired = out
518
+ end
519
+ elsif r.status == 422
520
+ if Utils.match_content_type(content_type, 'application/json')
521
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
522
+ res.unprocessable_entity = out
523
+ end
524
+ elsif r.status == 429
525
+ if Utils.match_content_type(content_type, 'application/json')
526
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
527
+ res.rate_limit_exceeded = out
528
+ end
529
+ elsif r.status == 500
530
+ if Utils.match_content_type(content_type, 'application/json')
531
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
532
+ res.internal_server_error = out
533
+ end
534
+ end
535
+ res
536
+ end
537
+
538
+
539
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(T::Array[::OpenApiSDK::Operations::RequestBody])).returns(::OpenApiSDK::Operations::BulkCreateLinksResponse) }
540
+ def create_many(workspace_id = nil, project_slug = nil, request_body = nil)
541
+ # create_many - Bulk create links
542
+ # Bulk create up to 100 links for the authenticated workspace.
543
+ request = ::OpenApiSDK::Operations::BulkCreateLinksRequest.new(
544
+
545
+ workspace_id: workspace_id,
546
+ project_slug: project_slug,
547
+ request_body: request_body
548
+ )
549
+ url, params = @sdk_configuration.get_server_details
550
+ base_url = Utils.template_url(url, params)
551
+ url = "#{base_url}/links/bulk"
552
+ headers = {}
553
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
554
+ headers['content-type'] = req_content_type
555
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::BulkCreateLinksRequest, request, @sdk_configuration.globals)
556
+ headers['Accept'] = 'application/json'
557
+ headers['user-agent'] = @sdk_configuration.user_agent
558
+
559
+ r = @sdk_configuration.client.post(url) do |req|
560
+ req.headers = headers
561
+ req.params = query_params
562
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
563
+ if form
564
+ req.body = Utils.encode_form(form)
565
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
566
+ req.body = URI.encode_www_form(data)
567
+ else
568
+ req.body = data
569
+ end
570
+ end
571
+
572
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
573
+
574
+ res = ::OpenApiSDK::Operations::BulkCreateLinksResponse.new(
575
+ status_code: r.status, content_type: content_type, raw_response: r
576
+ )
577
+ if r.status == 200
578
+ if Utils.match_content_type(content_type, 'application/json')
579
+ out = Utils.unmarshal_complex(r.env.response_body, T::Array[::OpenApiSDK::Shared::LinkSchema])
580
+ res.link_schemas = out
581
+ end
582
+ elsif r.status == 400
583
+ if Utils.match_content_type(content_type, 'application/json')
584
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
585
+ res.bad_request = out
586
+ end
587
+ elsif r.status == 401
588
+ if Utils.match_content_type(content_type, 'application/json')
589
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
590
+ res.unauthorized = out
591
+ end
592
+ elsif r.status == 403
593
+ if Utils.match_content_type(content_type, 'application/json')
594
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
595
+ res.forbidden = out
596
+ end
597
+ elsif r.status == 404
598
+ if Utils.match_content_type(content_type, 'application/json')
599
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
600
+ res.not_found = out
601
+ end
602
+ elsif r.status == 409
603
+ if Utils.match_content_type(content_type, 'application/json')
604
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
605
+ res.conflict = out
606
+ end
607
+ elsif r.status == 410
608
+ if Utils.match_content_type(content_type, 'application/json')
609
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
610
+ res.invite_expired = out
611
+ end
612
+ elsif r.status == 422
613
+ if Utils.match_content_type(content_type, 'application/json')
614
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
615
+ res.unprocessable_entity = out
616
+ end
617
+ elsif r.status == 429
618
+ if Utils.match_content_type(content_type, 'application/json')
619
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
620
+ res.rate_limit_exceeded = out
621
+ end
622
+ elsif r.status == 500
623
+ if Utils.match_content_type(content_type, 'application/json')
624
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
625
+ res.internal_server_error = out
626
+ end
627
+ end
628
+ res
629
+ end
630
+
631
+
632
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::UpsertLinkRequestBody)).returns(::OpenApiSDK::Operations::UpsertLinkResponse) }
633
+ def upsert(workspace_id = nil, project_slug = nil, request_body = nil)
634
+ # upsert - Upsert a link
635
+ # Upsert a link for the authenticated workspace by its URL. 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.
636
+ request = ::OpenApiSDK::Operations::UpsertLinkRequest.new(
637
+
638
+ workspace_id: workspace_id,
639
+ project_slug: project_slug,
640
+ request_body: request_body
641
+ )
642
+ url, params = @sdk_configuration.get_server_details
643
+ base_url = Utils.template_url(url, params)
644
+ url = "#{base_url}/links/upsert"
645
+ headers = {}
646
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
647
+ headers['content-type'] = req_content_type
648
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::UpsertLinkRequest, request, @sdk_configuration.globals)
649
+ headers['Accept'] = 'application/json'
650
+ headers['user-agent'] = @sdk_configuration.user_agent
651
+
652
+ r = @sdk_configuration.client.put(url) do |req|
653
+ req.headers = headers
654
+ req.params = query_params
655
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
656
+ if form
657
+ req.body = Utils.encode_form(form)
658
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
659
+ req.body = URI.encode_www_form(data)
660
+ else
661
+ req.body = data
662
+ end
663
+ end
664
+
665
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
666
+
667
+ res = ::OpenApiSDK::Operations::UpsertLinkResponse.new(
668
+ status_code: r.status, content_type: content_type, raw_response: r
669
+ )
670
+ if r.status == 200
671
+ if Utils.match_content_type(content_type, 'application/json')
672
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::LinkSchema)
673
+ res.link_schema = out
674
+ end
675
+ elsif r.status == 400
676
+ if Utils.match_content_type(content_type, 'application/json')
677
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
678
+ res.bad_request = out
679
+ end
680
+ elsif r.status == 401
681
+ if Utils.match_content_type(content_type, 'application/json')
682
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
683
+ res.unauthorized = out
684
+ end
685
+ elsif r.status == 403
686
+ if Utils.match_content_type(content_type, 'application/json')
687
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
688
+ res.forbidden = out
689
+ end
690
+ elsif r.status == 404
691
+ if Utils.match_content_type(content_type, 'application/json')
692
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
693
+ res.not_found = out
694
+ end
695
+ elsif r.status == 409
696
+ if Utils.match_content_type(content_type, 'application/json')
697
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
698
+ res.conflict = out
699
+ end
700
+ elsif r.status == 410
701
+ if Utils.match_content_type(content_type, 'application/json')
702
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
703
+ res.invite_expired = out
704
+ end
705
+ elsif r.status == 422
706
+ if Utils.match_content_type(content_type, 'application/json')
707
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
708
+ res.unprocessable_entity = out
709
+ end
710
+ elsif r.status == 429
711
+ if Utils.match_content_type(content_type, 'application/json')
712
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
713
+ res.rate_limit_exceeded = out
714
+ end
715
+ elsif r.status == 500
716
+ if Utils.match_content_type(content_type, 'application/json')
717
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
718
+ res.internal_server_error = out
719
+ end
720
+ end
721
+ res
722
+ end
723
+ end
724
+ end