postboost 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +0 -0
  5. data/Rakefile +10 -0
  6. data/docs/Account.md +34 -0
  7. data/docs/AccountsApi.md +149 -0
  8. data/docs/AddGenericSubscriptionRequest.md +22 -0
  9. data/docs/ChangeSubscriptionPlanRequest.md +24 -0
  10. data/docs/CheckoutSubscription200Response.md +18 -0
  11. data/docs/CheckoutSubscriptionRequest.md +22 -0
  12. data/docs/DeleteMediaBulkRequest.md +18 -0
  13. data/docs/DeleteMode.md +15 -0
  14. data/docs/DeletePostRequest.md +20 -0
  15. data/docs/DeletePostsBulkRequest.md +22 -0
  16. data/docs/DeleteReceiptsBulkRequest.md +18 -0
  17. data/docs/DeleteResult.md +22 -0
  18. data/docs/DeleteUser400Response.md +20 -0
  19. data/docs/DeleteUsersBulkRequest.md +18 -0
  20. data/docs/DeleteWorkspacesBulkRequest.md +18 -0
  21. data/docs/GetRemoteUploadStatus200Response.md +20 -0
  22. data/docs/InitiateChunkedUpload200Response.md +22 -0
  23. data/docs/InitiateChunkedUploadRequest.md +22 -0
  24. data/docs/InitiateRemoteUpload200Response.md +49 -0
  25. data/docs/InitiateRemoteUpload200ResponseOneOf.md +18 -0
  26. data/docs/InitiateRemoteUploadRequest.md +20 -0
  27. data/docs/ListAccounts200Response.md +18 -0
  28. data/docs/ListMedia200Response.md +22 -0
  29. data/docs/ListPosts200Response.md +22 -0
  30. data/docs/ListReceipts200Response.md +22 -0
  31. data/docs/ListTags200Response.md +18 -0
  32. data/docs/ListUsers200Response.md +22 -0
  33. data/docs/ListWorkspaces200Response.md +22 -0
  34. data/docs/Media.md +34 -0
  35. data/docs/MediaApi.md +810 -0
  36. data/docs/PaginationMeta.md +20 -0
  37. data/docs/PaginationMetaLinks.md +24 -0
  38. data/docs/PaginationMetaMeta.md +28 -0
  39. data/docs/Post.md +36 -0
  40. data/docs/PostContent.md +24 -0
  41. data/docs/PostInput.md +34 -0
  42. data/docs/PostStatus.md +15 -0
  43. data/docs/PostVersion.md +24 -0
  44. data/docs/PostsApi.md +659 -0
  45. data/docs/Receipt.md +36 -0
  46. data/docs/ReceiptInput.md +34 -0
  47. data/docs/ReceiptUpdateInput.md +32 -0
  48. data/docs/ReceiptsApi.md +421 -0
  49. data/docs/RemoveUserFromWorkspaceRequest.md +18 -0
  50. data/docs/SchedulePostRequest.md +18 -0
  51. data/docs/ScheduleResult.md +20 -0
  52. data/docs/Subscription.md +32 -0
  53. data/docs/SubscriptionInput.md +24 -0
  54. data/docs/SubscriptionStatus.md +15 -0
  55. data/docs/SubscriptionUpdateInput.md +24 -0
  56. data/docs/SubscriptionsApi.md +699 -0
  57. data/docs/Tag.md +24 -0
  58. data/docs/TagInput.md +20 -0
  59. data/docs/TagsApi.md +357 -0
  60. data/docs/UpdateMediaRequest.md +18 -0
  61. data/docs/UploadChunk200Response.md +18 -0
  62. data/docs/User.md +28 -0
  63. data/docs/UserInput.md +26 -0
  64. data/docs/UserUpdateInput.md +26 -0
  65. data/docs/UsersApi.md +419 -0
  66. data/docs/Workspace.md +28 -0
  67. data/docs/WorkspaceInput.md +24 -0
  68. data/docs/WorkspaceUserInput.md +24 -0
  69. data/docs/WorkspacesApi.md +637 -0
  70. data/git_push.sh +57 -0
  71. data/lib/postboost/api/accounts_api.rb +154 -0
  72. data/lib/postboost/api/media_api.rb +836 -0
  73. data/lib/postboost/api/posts_api.rb +673 -0
  74. data/lib/postboost/api/receipts_api.rb +409 -0
  75. data/lib/postboost/api/subscriptions_api.rb +689 -0
  76. data/lib/postboost/api/tags_api.rb +367 -0
  77. data/lib/postboost/api/users_api.rb +406 -0
  78. data/lib/postboost/api/workspaces_api.rb +640 -0
  79. data/lib/postboost/api_client.rb +394 -0
  80. data/lib/postboost/api_error.rb +58 -0
  81. data/lib/postboost/configuration.rb +308 -0
  82. data/lib/postboost/models/account.rb +321 -0
  83. data/lib/postboost/models/add_generic_subscription_request.rb +274 -0
  84. data/lib/postboost/models/change_subscription_plan_request.rb +303 -0
  85. data/lib/postboost/models/checkout_subscription200_response.rb +214 -0
  86. data/lib/postboost/models/checkout_subscription_request.rb +280 -0
  87. data/lib/postboost/models/delete_media_bulk_request.rb +224 -0
  88. data/lib/postboost/models/delete_mode.rb +41 -0
  89. data/lib/postboost/models/delete_post_request.rb +249 -0
  90. data/lib/postboost/models/delete_posts_bulk_request.rb +269 -0
  91. data/lib/postboost/models/delete_receipts_bulk_request.rb +223 -0
  92. data/lib/postboost/models/delete_result.rb +232 -0
  93. data/lib/postboost/models/delete_user400_response.rb +223 -0
  94. data/lib/postboost/models/delete_users_bulk_request.rb +223 -0
  95. data/lib/postboost/models/delete_workspaces_bulk_request.rb +223 -0
  96. data/lib/postboost/models/get_remote_upload_status200_response.rb +258 -0
  97. data/lib/postboost/models/initiate_chunked_upload200_response.rb +232 -0
  98. data/lib/postboost/models/initiate_chunked_upload_request.rb +273 -0
  99. data/lib/postboost/models/initiate_remote_upload200_response.rb +105 -0
  100. data/lib/postboost/models/initiate_remote_upload200_response_one_of.rb +214 -0
  101. data/lib/postboost/models/initiate_remote_upload_request.rb +250 -0
  102. data/lib/postboost/models/list_accounts200_response.rb +216 -0
  103. data/lib/postboost/models/list_media200_response.rb +241 -0
  104. data/lib/postboost/models/list_posts200_response.rb +241 -0
  105. data/lib/postboost/models/list_receipts200_response.rb +241 -0
  106. data/lib/postboost/models/list_tags200_response.rb +216 -0
  107. data/lib/postboost/models/list_users200_response.rb +241 -0
  108. data/lib/postboost/models/list_workspaces200_response.rb +241 -0
  109. data/lib/postboost/models/media.rb +320 -0
  110. data/lib/postboost/models/pagination_meta.rb +223 -0
  111. data/lib/postboost/models/pagination_meta_links.rb +241 -0
  112. data/lib/postboost/models/pagination_meta_meta.rb +259 -0
  113. data/lib/postboost/models/post.rb +323 -0
  114. data/lib/postboost/models/post_content.rb +247 -0
  115. data/lib/postboost/models/post_input.rb +324 -0
  116. data/lib/postboost/models/post_status.rb +41 -0
  117. data/lib/postboost/models/post_version.rb +267 -0
  118. data/lib/postboost/models/receipt.rb +295 -0
  119. data/lib/postboost/models/receipt_input.rb +335 -0
  120. data/lib/postboost/models/receipt_update_input.rb +312 -0
  121. data/lib/postboost/models/remove_user_from_workspace_request.rb +221 -0
  122. data/lib/postboost/models/schedule_post_request.rb +221 -0
  123. data/lib/postboost/models/schedule_result.rb +223 -0
  124. data/lib/postboost/models/subscription.rb +299 -0
  125. data/lib/postboost/models/subscription_input.rb +285 -0
  126. data/lib/postboost/models/subscription_status.rb +44 -0
  127. data/lib/postboost/models/subscription_update_input.rb +279 -0
  128. data/lib/postboost/models/tag.rb +241 -0
  129. data/lib/postboost/models/tag_input.rb +237 -0
  130. data/lib/postboost/models/update_media_request.rb +222 -0
  131. data/lib/postboost/models/upload_chunk200_response.rb +215 -0
  132. data/lib/postboost/models/user.rb +259 -0
  133. data/lib/postboost/models/user_input.rb +304 -0
  134. data/lib/postboost/models/user_update_input.rb +272 -0
  135. data/lib/postboost/models/workspace.rb +293 -0
  136. data/lib/postboost/models/workspace_input.rb +315 -0
  137. data/lib/postboost/models/workspace_user_input.rb +303 -0
  138. data/lib/postboost/version.rb +15 -0
  139. data/lib/postboost.rb +103 -0
  140. data/postboost.gemspec +39 -0
  141. data/spec/api/accounts_api_spec.rb +60 -0
  142. data/spec/api/media_api_spec.rb +182 -0
  143. data/spec/api/posts_api_spec.rb +152 -0
  144. data/spec/api/receipts_api_spec.rb +103 -0
  145. data/spec/api/subscriptions_api_spec.rb +151 -0
  146. data/spec/api/tags_api_spec.rb +95 -0
  147. data/spec/api/users_api_spec.rb +102 -0
  148. data/spec/api/workspaces_api_spec.rb +142 -0
  149. data/spec/models/account_spec.rb +88 -0
  150. data/spec/models/add_generic_subscription_request_spec.rb +48 -0
  151. data/spec/models/change_subscription_plan_request_spec.rb +58 -0
  152. data/spec/models/checkout_subscription200_response_spec.rb +36 -0
  153. data/spec/models/checkout_subscription_request_spec.rb +52 -0
  154. data/spec/models/delete_media_bulk_request_spec.rb +36 -0
  155. data/spec/models/delete_mode_spec.rb +30 -0
  156. data/spec/models/delete_post_request_spec.rb +42 -0
  157. data/spec/models/delete_posts_bulk_request_spec.rb +48 -0
  158. data/spec/models/delete_receipts_bulk_request_spec.rb +36 -0
  159. data/spec/models/delete_result_spec.rb +48 -0
  160. data/spec/models/delete_user400_response_spec.rb +42 -0
  161. data/spec/models/delete_users_bulk_request_spec.rb +36 -0
  162. data/spec/models/delete_workspaces_bulk_request_spec.rb +36 -0
  163. data/spec/models/get_remote_upload_status200_response_spec.rb +46 -0
  164. data/spec/models/initiate_chunked_upload200_response_spec.rb +48 -0
  165. data/spec/models/initiate_chunked_upload_request_spec.rb +48 -0
  166. data/spec/models/initiate_remote_upload200_response_one_of_spec.rb +36 -0
  167. data/spec/models/initiate_remote_upload200_response_spec.rb +32 -0
  168. data/spec/models/initiate_remote_upload_request_spec.rb +42 -0
  169. data/spec/models/list_accounts200_response_spec.rb +36 -0
  170. data/spec/models/list_media200_response_spec.rb +48 -0
  171. data/spec/models/list_posts200_response_spec.rb +48 -0
  172. data/spec/models/list_receipts200_response_spec.rb +48 -0
  173. data/spec/models/list_tags200_response_spec.rb +36 -0
  174. data/spec/models/list_users200_response_spec.rb +48 -0
  175. data/spec/models/list_workspaces200_response_spec.rb +48 -0
  176. data/spec/models/media_spec.rb +88 -0
  177. data/spec/models/pagination_meta_links_spec.rb +54 -0
  178. data/spec/models/pagination_meta_meta_spec.rb +66 -0
  179. data/spec/models/pagination_meta_spec.rb +42 -0
  180. data/spec/models/post_content_spec.rb +54 -0
  181. data/spec/models/post_input_spec.rb +84 -0
  182. data/spec/models/post_spec.rb +90 -0
  183. data/spec/models/post_status_spec.rb +30 -0
  184. data/spec/models/post_version_spec.rb +54 -0
  185. data/spec/models/receipt_input_spec.rb +84 -0
  186. data/spec/models/receipt_spec.rb +90 -0
  187. data/spec/models/receipt_update_input_spec.rb +78 -0
  188. data/spec/models/remove_user_from_workspace_request_spec.rb +36 -0
  189. data/spec/models/schedule_post_request_spec.rb +36 -0
  190. data/spec/models/schedule_result_spec.rb +42 -0
  191. data/spec/models/subscription_input_spec.rb +54 -0
  192. data/spec/models/subscription_spec.rb +78 -0
  193. data/spec/models/subscription_status_spec.rb +30 -0
  194. data/spec/models/subscription_update_input_spec.rb +54 -0
  195. data/spec/models/tag_input_spec.rb +42 -0
  196. data/spec/models/tag_spec.rb +54 -0
  197. data/spec/models/update_media_request_spec.rb +36 -0
  198. data/spec/models/upload_chunk200_response_spec.rb +36 -0
  199. data/spec/models/user_input_spec.rb +60 -0
  200. data/spec/models/user_spec.rb +66 -0
  201. data/spec/models/user_update_input_spec.rb +60 -0
  202. data/spec/models/workspace_input_spec.rb +58 -0
  203. data/spec/models/workspace_spec.rb +70 -0
  204. data/spec/models/workspace_user_input_spec.rb +58 -0
  205. data/spec/spec_helper.rb +111 -0
  206. metadata +358 -0
@@ -0,0 +1,640 @@
1
+ =begin
2
+ #PostBoost API
3
+
4
+ #The PostBoost REST API lets you publish, schedule, and analyze social media posts across 8+ platforms from a single integration. No OAuth apps to maintain — PostBoost handles platform authorization for you. ## Base URL All workspace-scoped endpoints are prefixed with `/{workspaceUuid}`. Panel/admin endpoints are prefixed with `/panel`. ## Authentication All requests require a Bearer token in the `Authorization` header. Generate tokens in your PostBoost dashboard under **Settings → Access Tokens**. ``` Authorization: Bearer YOUR_API_TOKEN ```
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: hi@postboost.co
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module PostBoost
16
+ class WorkspacesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add user to workspace
23
+ # @param workspace_uuid [String] UUID of the workspace.
24
+ # @param workspace_user_input [WorkspaceUserInput]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Object]
27
+ def add_user_to_workspace(workspace_uuid, workspace_user_input, opts = {})
28
+ data, _status_code, _headers = add_user_to_workspace_with_http_info(workspace_uuid, workspace_user_input, opts)
29
+ data
30
+ end
31
+
32
+ # Add user to workspace
33
+ # @param workspace_uuid [String] UUID of the workspace.
34
+ # @param workspace_user_input [WorkspaceUserInput]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
37
+ def add_user_to_workspace_with_http_info(workspace_uuid, workspace_user_input, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.add_user_to_workspace ...'
40
+ end
41
+ # verify the required parameter 'workspace_uuid' is set
42
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
43
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling WorkspacesApi.add_user_to_workspace"
44
+ end
45
+ # verify the required parameter 'workspace_user_input' is set
46
+ if @api_client.config.client_side_validation && workspace_user_input.nil?
47
+ fail ArgumentError, "Missing the required parameter 'workspace_user_input' when calling WorkspacesApi.add_user_to_workspace"
48
+ end
49
+ # resource path
50
+ local_var_path = '/panel/workspaces/{workspaceUuid}/users'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ if !content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(workspace_user_input)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'Object'
73
+
74
+ # auth_names
75
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
76
+
77
+ new_options = opts.merge(
78
+ :operation => :"WorkspacesApi.add_user_to_workspace",
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: WorkspacesApi#add_user_to_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ return data, status_code, headers
92
+ end
93
+
94
+ # Create workspace
95
+ # Create a new workspace. Admin only.
96
+ # @param workspace_input [WorkspaceInput]
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [Workspace]
99
+ def create_workspace(workspace_input, opts = {})
100
+ data, _status_code, _headers = create_workspace_with_http_info(workspace_input, opts)
101
+ data
102
+ end
103
+
104
+ # Create workspace
105
+ # Create a new workspace. Admin only.
106
+ # @param workspace_input [WorkspaceInput]
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Array<(Workspace, Integer, Hash)>] Workspace data, response status code and response headers
109
+ def create_workspace_with_http_info(workspace_input, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.create_workspace ...'
112
+ end
113
+ # verify the required parameter 'workspace_input' is set
114
+ if @api_client.config.client_side_validation && workspace_input.nil?
115
+ fail ArgumentError, "Missing the required parameter 'workspace_input' when calling WorkspacesApi.create_workspace"
116
+ end
117
+ # resource path
118
+ local_var_path = '/panel/workspaces'
119
+
120
+ # query parameters
121
+ query_params = opts[:query_params] || {}
122
+
123
+ # header parameters
124
+ header_params = opts[:header_params] || {}
125
+ # HTTP header 'Accept' (if needed)
126
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
127
+ # HTTP header 'Content-Type'
128
+ content_type = @api_client.select_header_content_type(['application/json'])
129
+ if !content_type.nil?
130
+ header_params['Content-Type'] = content_type
131
+ end
132
+
133
+ # form parameters
134
+ form_params = opts[:form_params] || {}
135
+
136
+ # http body (model)
137
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(workspace_input)
138
+
139
+ # return_type
140
+ return_type = opts[:debug_return_type] || 'Workspace'
141
+
142
+ # auth_names
143
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
144
+
145
+ new_options = opts.merge(
146
+ :operation => :"WorkspacesApi.create_workspace",
147
+ :header_params => header_params,
148
+ :query_params => query_params,
149
+ :form_params => form_params,
150
+ :body => post_body,
151
+ :auth_names => auth_names,
152
+ :return_type => return_type
153
+ )
154
+
155
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug "API called: WorkspacesApi#create_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
158
+ end
159
+ return data, status_code, headers
160
+ end
161
+
162
+ # Delete workspace
163
+ # @param workspace_uuid [String] UUID of the workspace.
164
+ # @param [Hash] opts the optional parameters
165
+ # @return [Object]
166
+ def delete_workspace(workspace_uuid, opts = {})
167
+ data, _status_code, _headers = delete_workspace_with_http_info(workspace_uuid, opts)
168
+ data
169
+ end
170
+
171
+ # Delete workspace
172
+ # @param workspace_uuid [String] UUID of the workspace.
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
175
+ def delete_workspace_with_http_info(workspace_uuid, opts = {})
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.delete_workspace ...'
178
+ end
179
+ # verify the required parameter 'workspace_uuid' is set
180
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
181
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling WorkspacesApi.delete_workspace"
182
+ end
183
+ # resource path
184
+ local_var_path = '/panel/workspaces/{workspaceUuid}'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
185
+
186
+ # query parameters
187
+ query_params = opts[:query_params] || {}
188
+
189
+ # header parameters
190
+ header_params = opts[:header_params] || {}
191
+ # HTTP header 'Accept' (if needed)
192
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
193
+
194
+ # form parameters
195
+ form_params = opts[:form_params] || {}
196
+
197
+ # http body (model)
198
+ post_body = opts[:debug_body]
199
+
200
+ # return_type
201
+ return_type = opts[:debug_return_type] || 'Object'
202
+
203
+ # auth_names
204
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
205
+
206
+ new_options = opts.merge(
207
+ :operation => :"WorkspacesApi.delete_workspace",
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: WorkspacesApi#delete_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # Delete workspaces (bulk)
224
+ # @param delete_workspaces_bulk_request [DeleteWorkspacesBulkRequest]
225
+ # @param [Hash] opts the optional parameters
226
+ # @return [Object]
227
+ def delete_workspaces_bulk(delete_workspaces_bulk_request, opts = {})
228
+ data, _status_code, _headers = delete_workspaces_bulk_with_http_info(delete_workspaces_bulk_request, opts)
229
+ data
230
+ end
231
+
232
+ # Delete workspaces (bulk)
233
+ # @param delete_workspaces_bulk_request [DeleteWorkspacesBulkRequest]
234
+ # @param [Hash] opts the optional parameters
235
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
236
+ def delete_workspaces_bulk_with_http_info(delete_workspaces_bulk_request, opts = {})
237
+ if @api_client.config.debugging
238
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.delete_workspaces_bulk ...'
239
+ end
240
+ # verify the required parameter 'delete_workspaces_bulk_request' is set
241
+ if @api_client.config.client_side_validation && delete_workspaces_bulk_request.nil?
242
+ fail ArgumentError, "Missing the required parameter 'delete_workspaces_bulk_request' when calling WorkspacesApi.delete_workspaces_bulk"
243
+ end
244
+ # resource path
245
+ local_var_path = '/panel/workspaces'
246
+
247
+ # query parameters
248
+ query_params = opts[:query_params] || {}
249
+
250
+ # header parameters
251
+ header_params = opts[:header_params] || {}
252
+ # HTTP header 'Accept' (if needed)
253
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
254
+ # HTTP header 'Content-Type'
255
+ content_type = @api_client.select_header_content_type(['application/json'])
256
+ if !content_type.nil?
257
+ header_params['Content-Type'] = content_type
258
+ end
259
+
260
+ # form parameters
261
+ form_params = opts[:form_params] || {}
262
+
263
+ # http body (model)
264
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(delete_workspaces_bulk_request)
265
+
266
+ # return_type
267
+ return_type = opts[:debug_return_type] || 'Object'
268
+
269
+ # auth_names
270
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
271
+
272
+ new_options = opts.merge(
273
+ :operation => :"WorkspacesApi.delete_workspaces_bulk",
274
+ :header_params => header_params,
275
+ :query_params => query_params,
276
+ :form_params => form_params,
277
+ :body => post_body,
278
+ :auth_names => auth_names,
279
+ :return_type => return_type
280
+ )
281
+
282
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
283
+ if @api_client.config.debugging
284
+ @api_client.config.logger.debug "API called: WorkspacesApi#delete_workspaces_bulk\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
285
+ end
286
+ return data, status_code, headers
287
+ end
288
+
289
+ # Get workspace
290
+ # @param workspace_uuid [String] UUID of the workspace.
291
+ # @param [Hash] opts the optional parameters
292
+ # @return [Workspace]
293
+ def get_workspace(workspace_uuid, opts = {})
294
+ data, _status_code, _headers = get_workspace_with_http_info(workspace_uuid, opts)
295
+ data
296
+ end
297
+
298
+ # Get workspace
299
+ # @param workspace_uuid [String] UUID of the workspace.
300
+ # @param [Hash] opts the optional parameters
301
+ # @return [Array<(Workspace, Integer, Hash)>] Workspace data, response status code and response headers
302
+ def get_workspace_with_http_info(workspace_uuid, opts = {})
303
+ if @api_client.config.debugging
304
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.get_workspace ...'
305
+ end
306
+ # verify the required parameter 'workspace_uuid' is set
307
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
308
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling WorkspacesApi.get_workspace"
309
+ end
310
+ # resource path
311
+ local_var_path = '/panel/workspaces/{workspaceUuid}'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
312
+
313
+ # query parameters
314
+ query_params = opts[:query_params] || {}
315
+
316
+ # header parameters
317
+ header_params = opts[:header_params] || {}
318
+ # HTTP header 'Accept' (if needed)
319
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
320
+
321
+ # form parameters
322
+ form_params = opts[:form_params] || {}
323
+
324
+ # http body (model)
325
+ post_body = opts[:debug_body]
326
+
327
+ # return_type
328
+ return_type = opts[:debug_return_type] || 'Workspace'
329
+
330
+ # auth_names
331
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
332
+
333
+ new_options = opts.merge(
334
+ :operation => :"WorkspacesApi.get_workspace",
335
+ :header_params => header_params,
336
+ :query_params => query_params,
337
+ :form_params => form_params,
338
+ :body => post_body,
339
+ :auth_names => auth_names,
340
+ :return_type => return_type
341
+ )
342
+
343
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
344
+ if @api_client.config.debugging
345
+ @api_client.config.logger.debug "API called: WorkspacesApi#get_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
346
+ end
347
+ return data, status_code, headers
348
+ end
349
+
350
+ # List workspaces
351
+ # Returns a paginated list of all workspaces. Admin only.
352
+ # @param [Hash] opts the optional parameters
353
+ # @option opts [String] :keyword
354
+ # @option opts [String] :subscription_status
355
+ # @option opts [String] :access_status
356
+ # @return [ListWorkspaces200Response]
357
+ def list_workspaces(opts = {})
358
+ data, _status_code, _headers = list_workspaces_with_http_info(opts)
359
+ data
360
+ end
361
+
362
+ # List workspaces
363
+ # Returns a paginated list of all workspaces. Admin only.
364
+ # @param [Hash] opts the optional parameters
365
+ # @option opts [String] :keyword
366
+ # @option opts [String] :subscription_status
367
+ # @option opts [String] :access_status
368
+ # @return [Array<(ListWorkspaces200Response, Integer, Hash)>] ListWorkspaces200Response data, response status code and response headers
369
+ def list_workspaces_with_http_info(opts = {})
370
+ if @api_client.config.debugging
371
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.list_workspaces ...'
372
+ end
373
+ allowable_values = ["active", "trialing", "past_due", "paused", "canceled", "incomplete"]
374
+ if @api_client.config.client_side_validation && opts[:'subscription_status'] && !allowable_values.include?(opts[:'subscription_status'])
375
+ fail ArgumentError, "invalid value for \"subscription_status\", must be one of #{allowable_values}"
376
+ end
377
+ allowable_values = ["subscription", "unlimited", "locked"]
378
+ if @api_client.config.client_side_validation && opts[:'access_status'] && !allowable_values.include?(opts[:'access_status'])
379
+ fail ArgumentError, "invalid value for \"access_status\", must be one of #{allowable_values}"
380
+ end
381
+ # resource path
382
+ local_var_path = '/panel/workspaces'
383
+
384
+ # query parameters
385
+ query_params = opts[:query_params] || {}
386
+ query_params[:'keyword'] = opts[:'keyword'] if !opts[:'keyword'].nil?
387
+ query_params[:'subscription_status'] = opts[:'subscription_status'] if !opts[:'subscription_status'].nil?
388
+ query_params[:'access_status'] = opts[:'access_status'] if !opts[:'access_status'].nil?
389
+
390
+ # header parameters
391
+ header_params = opts[:header_params] || {}
392
+ # HTTP header 'Accept' (if needed)
393
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
394
+
395
+ # form parameters
396
+ form_params = opts[:form_params] || {}
397
+
398
+ # http body (model)
399
+ post_body = opts[:debug_body]
400
+
401
+ # return_type
402
+ return_type = opts[:debug_return_type] || 'ListWorkspaces200Response'
403
+
404
+ # auth_names
405
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
406
+
407
+ new_options = opts.merge(
408
+ :operation => :"WorkspacesApi.list_workspaces",
409
+ :header_params => header_params,
410
+ :query_params => query_params,
411
+ :form_params => form_params,
412
+ :body => post_body,
413
+ :auth_names => auth_names,
414
+ :return_type => return_type
415
+ )
416
+
417
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
418
+ if @api_client.config.debugging
419
+ @api_client.config.logger.debug "API called: WorkspacesApi#list_workspaces\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
420
+ end
421
+ return data, status_code, headers
422
+ end
423
+
424
+ # Remove user from workspace
425
+ # @param workspace_uuid [String] UUID of the workspace.
426
+ # @param remove_user_from_workspace_request [RemoveUserFromWorkspaceRequest]
427
+ # @param [Hash] opts the optional parameters
428
+ # @return [Object]
429
+ def remove_user_from_workspace(workspace_uuid, remove_user_from_workspace_request, opts = {})
430
+ data, _status_code, _headers = remove_user_from_workspace_with_http_info(workspace_uuid, remove_user_from_workspace_request, opts)
431
+ data
432
+ end
433
+
434
+ # Remove user from workspace
435
+ # @param workspace_uuid [String] UUID of the workspace.
436
+ # @param remove_user_from_workspace_request [RemoveUserFromWorkspaceRequest]
437
+ # @param [Hash] opts the optional parameters
438
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
439
+ def remove_user_from_workspace_with_http_info(workspace_uuid, remove_user_from_workspace_request, opts = {})
440
+ if @api_client.config.debugging
441
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.remove_user_from_workspace ...'
442
+ end
443
+ # verify the required parameter 'workspace_uuid' is set
444
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
445
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling WorkspacesApi.remove_user_from_workspace"
446
+ end
447
+ # verify the required parameter 'remove_user_from_workspace_request' is set
448
+ if @api_client.config.client_side_validation && remove_user_from_workspace_request.nil?
449
+ fail ArgumentError, "Missing the required parameter 'remove_user_from_workspace_request' when calling WorkspacesApi.remove_user_from_workspace"
450
+ end
451
+ # resource path
452
+ local_var_path = '/panel/workspaces/{workspaceUuid}/users'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
453
+
454
+ # query parameters
455
+ query_params = opts[:query_params] || {}
456
+
457
+ # header parameters
458
+ header_params = opts[:header_params] || {}
459
+ # HTTP header 'Accept' (if needed)
460
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
461
+ # HTTP header 'Content-Type'
462
+ content_type = @api_client.select_header_content_type(['application/json'])
463
+ if !content_type.nil?
464
+ header_params['Content-Type'] = content_type
465
+ end
466
+
467
+ # form parameters
468
+ form_params = opts[:form_params] || {}
469
+
470
+ # http body (model)
471
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(remove_user_from_workspace_request)
472
+
473
+ # return_type
474
+ return_type = opts[:debug_return_type] || 'Object'
475
+
476
+ # auth_names
477
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
478
+
479
+ new_options = opts.merge(
480
+ :operation => :"WorkspacesApi.remove_user_from_workspace",
481
+ :header_params => header_params,
482
+ :query_params => query_params,
483
+ :form_params => form_params,
484
+ :body => post_body,
485
+ :auth_names => auth_names,
486
+ :return_type => return_type
487
+ )
488
+
489
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
490
+ if @api_client.config.debugging
491
+ @api_client.config.logger.debug "API called: WorkspacesApi#remove_user_from_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
492
+ end
493
+ return data, status_code, headers
494
+ end
495
+
496
+ # Update workspace
497
+ # @param workspace_uuid [String] UUID of the workspace.
498
+ # @param workspace_input [WorkspaceInput]
499
+ # @param [Hash] opts the optional parameters
500
+ # @return [Object]
501
+ def update_workspace(workspace_uuid, workspace_input, opts = {})
502
+ data, _status_code, _headers = update_workspace_with_http_info(workspace_uuid, workspace_input, opts)
503
+ data
504
+ end
505
+
506
+ # Update workspace
507
+ # @param workspace_uuid [String] UUID of the workspace.
508
+ # @param workspace_input [WorkspaceInput]
509
+ # @param [Hash] opts the optional parameters
510
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
511
+ def update_workspace_with_http_info(workspace_uuid, workspace_input, opts = {})
512
+ if @api_client.config.debugging
513
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.update_workspace ...'
514
+ end
515
+ # verify the required parameter 'workspace_uuid' is set
516
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
517
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling WorkspacesApi.update_workspace"
518
+ end
519
+ # verify the required parameter 'workspace_input' is set
520
+ if @api_client.config.client_side_validation && workspace_input.nil?
521
+ fail ArgumentError, "Missing the required parameter 'workspace_input' when calling WorkspacesApi.update_workspace"
522
+ end
523
+ # resource path
524
+ local_var_path = '/panel/workspaces/{workspaceUuid}'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
525
+
526
+ # query parameters
527
+ query_params = opts[:query_params] || {}
528
+
529
+ # header parameters
530
+ header_params = opts[:header_params] || {}
531
+ # HTTP header 'Accept' (if needed)
532
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
533
+ # HTTP header 'Content-Type'
534
+ content_type = @api_client.select_header_content_type(['application/json'])
535
+ if !content_type.nil?
536
+ header_params['Content-Type'] = content_type
537
+ end
538
+
539
+ # form parameters
540
+ form_params = opts[:form_params] || {}
541
+
542
+ # http body (model)
543
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(workspace_input)
544
+
545
+ # return_type
546
+ return_type = opts[:debug_return_type] || 'Object'
547
+
548
+ # auth_names
549
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
550
+
551
+ new_options = opts.merge(
552
+ :operation => :"WorkspacesApi.update_workspace",
553
+ :header_params => header_params,
554
+ :query_params => query_params,
555
+ :form_params => form_params,
556
+ :body => post_body,
557
+ :auth_names => auth_names,
558
+ :return_type => return_type
559
+ )
560
+
561
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
562
+ if @api_client.config.debugging
563
+ @api_client.config.logger.debug "API called: WorkspacesApi#update_workspace\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
564
+ end
565
+ return data, status_code, headers
566
+ end
567
+
568
+ # Update user role in workspace
569
+ # @param workspace_uuid [String] UUID of the workspace.
570
+ # @param workspace_user_input [WorkspaceUserInput]
571
+ # @param [Hash] opts the optional parameters
572
+ # @return [Object]
573
+ def update_workspace_user(workspace_uuid, workspace_user_input, opts = {})
574
+ data, _status_code, _headers = update_workspace_user_with_http_info(workspace_uuid, workspace_user_input, opts)
575
+ data
576
+ end
577
+
578
+ # Update user role in workspace
579
+ # @param workspace_uuid [String] UUID of the workspace.
580
+ # @param workspace_user_input [WorkspaceUserInput]
581
+ # @param [Hash] opts the optional parameters
582
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
583
+ def update_workspace_user_with_http_info(workspace_uuid, workspace_user_input, opts = {})
584
+ if @api_client.config.debugging
585
+ @api_client.config.logger.debug 'Calling API: WorkspacesApi.update_workspace_user ...'
586
+ end
587
+ # verify the required parameter 'workspace_uuid' is set
588
+ if @api_client.config.client_side_validation && workspace_uuid.nil?
589
+ fail ArgumentError, "Missing the required parameter 'workspace_uuid' when calling WorkspacesApi.update_workspace_user"
590
+ end
591
+ # verify the required parameter 'workspace_user_input' is set
592
+ if @api_client.config.client_side_validation && workspace_user_input.nil?
593
+ fail ArgumentError, "Missing the required parameter 'workspace_user_input' when calling WorkspacesApi.update_workspace_user"
594
+ end
595
+ # resource path
596
+ local_var_path = '/panel/workspaces/{workspaceUuid}/users'.sub('{' + 'workspaceUuid' + '}', CGI.escape(workspace_uuid.to_s))
597
+
598
+ # query parameters
599
+ query_params = opts[:query_params] || {}
600
+
601
+ # header parameters
602
+ header_params = opts[:header_params] || {}
603
+ # HTTP header 'Accept' (if needed)
604
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
605
+ # HTTP header 'Content-Type'
606
+ content_type = @api_client.select_header_content_type(['application/json'])
607
+ if !content_type.nil?
608
+ header_params['Content-Type'] = content_type
609
+ end
610
+
611
+ # form parameters
612
+ form_params = opts[:form_params] || {}
613
+
614
+ # http body (model)
615
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(workspace_user_input)
616
+
617
+ # return_type
618
+ return_type = opts[:debug_return_type] || 'Object'
619
+
620
+ # auth_names
621
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
622
+
623
+ new_options = opts.merge(
624
+ :operation => :"WorkspacesApi.update_workspace_user",
625
+ :header_params => header_params,
626
+ :query_params => query_params,
627
+ :form_params => form_params,
628
+ :body => post_body,
629
+ :auth_names => auth_names,
630
+ :return_type => return_type
631
+ )
632
+
633
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
634
+ if @api_client.config.debugging
635
+ @api_client.config.logger.debug "API called: WorkspacesApi#update_workspace_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
636
+ end
637
+ return data, status_code, headers
638
+ end
639
+ end
640
+ end