groupdocs_assembly_cloud 20.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +7 -0
  2. data/lib/groupdocs_assembly_cloud.rb +68 -0
  3. data/lib/groupdocs_assembly_cloud/api/assembly_api.rb +1074 -0
  4. data/lib/groupdocs_assembly_cloud/api_client.rb +405 -0
  5. data/lib/groupdocs_assembly_cloud/api_error.rb +54 -0
  6. data/lib/groupdocs_assembly_cloud/configuration.rb +182 -0
  7. data/lib/groupdocs_assembly_cloud/models/assemble_options.rb +237 -0
  8. data/lib/groupdocs_assembly_cloud/models/assembly_api_error_response.rb +217 -0
  9. data/lib/groupdocs_assembly_cloud/models/assembly_response.rb +207 -0
  10. data/lib/groupdocs_assembly_cloud/models/error.rb +237 -0
  11. data/lib/groupdocs_assembly_cloud/models/error_details.rb +222 -0
  12. data/lib/groupdocs_assembly_cloud/models/file_formats_response.rb +237 -0
  13. data/lib/groupdocs_assembly_cloud/models/file_response.rb +197 -0
  14. data/lib/groupdocs_assembly_cloud/models/files_list.rb +209 -0
  15. data/lib/groupdocs_assembly_cloud/models/files_upload_result.rb +221 -0
  16. data/lib/groupdocs_assembly_cloud/models/format.rb +217 -0
  17. data/lib/groupdocs_assembly_cloud/models/format_collection.rb +209 -0
  18. data/lib/groupdocs_assembly_cloud/models/requests/AssembleDocumentRequest.rb +45 -0
  19. data/lib/groupdocs_assembly_cloud/models/requests/CopyFileRequest.rb +61 -0
  20. data/lib/groupdocs_assembly_cloud/models/requests/CopyFolderRequest.rb +57 -0
  21. data/lib/groupdocs_assembly_cloud/models/requests/CreateFolderRequest.rb +49 -0
  22. data/lib/groupdocs_assembly_cloud/models/requests/DeleteFileRequest.rb +53 -0
  23. data/lib/groupdocs_assembly_cloud/models/requests/DeleteFolderRequest.rb +53 -0
  24. data/lib/groupdocs_assembly_cloud/models/requests/DownloadFileRequest.rb +53 -0
  25. data/lib/groupdocs_assembly_cloud/models/requests/GetFilesListRequest.rb +49 -0
  26. data/lib/groupdocs_assembly_cloud/models/requests/GetSupportedFileFormatsRequest.rb +36 -0
  27. data/lib/groupdocs_assembly_cloud/models/requests/MoveFileRequest.rb +61 -0
  28. data/lib/groupdocs_assembly_cloud/models/requests/MoveFolderRequest.rb +57 -0
  29. data/lib/groupdocs_assembly_cloud/models/requests/UploadFileRequest.rb +53 -0
  30. data/lib/groupdocs_assembly_cloud/models/response_error.rb +247 -0
  31. data/lib/groupdocs_assembly_cloud/models/storage_file.rb +257 -0
  32. data/lib/groupdocs_assembly_cloud/models/template_file_info.rb +237 -0
  33. data/lib/groupdocs_assembly_cloud/version.rb +29 -0
  34. metadata +124 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: dee80c2eef8579c65923eccfc3fcdeda7ff634d0470a8e1c34303da3858e100d
4
+ data.tar.gz: c562e57cca91c7110d00a29be35d40c31ae182041bc2f970c6d5f716c1b63fa4
5
+ SHA512:
6
+ metadata.gz: ec96439403e1a90e9df7bb243e96514f437f60f85e05042478528b5176dbee810d61469c31335cd776eef6f9207cf0c2c9fc490185adf2eb26dc034019046e64
7
+ data.tar.gz: e4de060a4a9baf9df2c00342c1d4c6c56e7d76f3758f227d7de866caec662db4339f9d999b2b678c6c55f92c49f9dae1ada707da19fe8c80e5704df07f671c2d
@@ -0,0 +1,68 @@
1
+ # ------------------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="groupdocs_assembly_cloud.rb">
3
+ # Copyright (c) 2020 GroupDocs.Assembly for Cloud
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # of this software and associated documentation files (the "Software"), to deal
8
+ # in the Software without restriction, including without limitation the rights
9
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # copies of the Software, and to permit persons to whom the Software is
11
+ # furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in all
14
+ # copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ # SOFTWARE.
23
+ # </summary>
24
+ # ------------------------------------------------------------------------------------
25
+
26
+ # Common files
27
+ require_relative 'groupdocs_assembly_cloud/api_client'
28
+ require_relative 'groupdocs_assembly_cloud/api_error'
29
+ require_relative 'groupdocs_assembly_cloud/version'
30
+ require_relative 'groupdocs_assembly_cloud/configuration'
31
+
32
+ # Models
33
+ require_relative 'groupdocs_assembly_cloud/models/assemble_options'
34
+ require_relative 'groupdocs_assembly_cloud/models/assembly_response'
35
+ require_relative 'groupdocs_assembly_cloud/models/error'
36
+ require_relative 'groupdocs_assembly_cloud/models/error_details'
37
+ require_relative 'groupdocs_assembly_cloud/models/file_response'
38
+ require_relative 'groupdocs_assembly_cloud/models/files_list'
39
+ require_relative 'groupdocs_assembly_cloud/models/files_upload_result'
40
+ require_relative 'groupdocs_assembly_cloud/models/format'
41
+ require_relative 'groupdocs_assembly_cloud/models/format_collection'
42
+ require_relative 'groupdocs_assembly_cloud/models/response_error'
43
+ require_relative 'groupdocs_assembly_cloud/models/storage_file'
44
+ require_relative 'groupdocs_assembly_cloud/models/template_file_info'
45
+ require_relative 'groupdocs_assembly_cloud/models/assembly_api_error_response'
46
+ require_relative 'groupdocs_assembly_cloud/models/file_formats_response'
47
+
48
+ # APIs
49
+ require_relative 'groupdocs_assembly_cloud/api/assembly_api'
50
+
51
+ module GroupDocsAssemblyCloud
52
+ # Main module
53
+ class << self
54
+ # Configure sdk using block.
55
+ # GroupDocsAssemblyCloud.configure do |config|
56
+ # config.username = "xxx"
57
+ # config.password = "xxx"
58
+ # end
59
+ # If no block given, return the configuration singleton instance.
60
+ def configure
61
+ if block_given?
62
+ yield Configuration.default
63
+ else
64
+ Configuration.default
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,1074 @@
1
+ # -----------------------------------------------------------------------------------
2
+ # <copyright company="Aspose" file="assembly_api.rb">
3
+ # Copyright (c) 2020 GroupDocs.Assembly for Cloud
4
+ # </copyright>
5
+ # <summary>
6
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ # of this software and associated documentation files (the "Software"), to deal
8
+ # in the Software without restriction, including without limitation the rights
9
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ # copies of the Software, and to permit persons to whom the Software is
11
+ # furnished to do so, subject to the following conditions:
12
+ #
13
+ # The above copyright notice and this permission notice shall be included in all
14
+ # copies or substantial portions of the Software.
15
+ #
16
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ # SOFTWARE.
23
+ # </summary>
24
+ # -----------------------------------------------------------------------------------
25
+
26
+ require 'uri'
27
+
28
+ module GroupDocsAssemblyCloud
29
+ #
30
+ # GroupDocs.Assembly for Cloud API
31
+ #
32
+ class AssemblyApi
33
+ attr_accessor :api_client
34
+
35
+ def initialize(api_client = ApiClient.default)
36
+ @api_client = api_client
37
+ require_all '../models/requests'
38
+ request_token
39
+ end
40
+
41
+ # Builds a document using document template and XML or JSON data passed in request.
42
+ #
43
+ # @param request AssembleDocumentRequest
44
+ # @return [File]
45
+ def assemble_document(request)
46
+ begin
47
+ data, _status_code, _headers = assemble_document_with_http_info(request)
48
+ rescue ApiError => e
49
+ if e.code == 401
50
+ request_token
51
+ data, _status_code, _headers = assemble_document_with_http_info(request)
52
+ else
53
+ raise
54
+ end
55
+ end
56
+ data
57
+ end
58
+
59
+ # Builds a document using document template and XML or JSON data passed in request.
60
+ #
61
+ # @param request AssembleDocumentRequest
62
+ # @return [Array<(File, Fixnum, Hash)>]
63
+ # File data, response status code and response headers
64
+ private def assemble_document_with_http_info(request)
65
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? AssembleDocumentRequest
66
+
67
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.assemble_document ...' if @api_client.config.debugging
68
+ # verify the required parameter 'assemble_options' is set
69
+ raise ArgumentError, 'Missing the required parameter assemble_options when calling AssemblyApi.assemble_document' if @api_client.config.client_side_validation && request.assemble_options.nil?
70
+ # resource path
71
+ local_var_path = '/assembly/assemble'
72
+
73
+ # query parameters
74
+ query_params = {}
75
+
76
+ # header parameters
77
+ header_params = {}
78
+ # HTTP header 'Accept' (if needed)
79
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
80
+ # HTTP header 'Content-Type'
81
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
82
+
83
+ # form parameters
84
+ form_params = {}
85
+
86
+ # http body (model)
87
+ post_body = @api_client.object_to_http_body(request.assemble_options)
88
+ auth_names = ['JWT']
89
+ begin
90
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
91
+ header_params: header_params,
92
+ query_params: query_params,
93
+ form_params: form_params,
94
+ body: post_body,
95
+ auth_names: auth_names,
96
+ return_type: 'File')
97
+ rescue ApiError => e
98
+ if e.code == 401
99
+ request_token
100
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
101
+ header_params: header_params,
102
+ query_params: query_params,
103
+ form_params: form_params,
104
+ body: post_body,
105
+ auth_names: auth_names,
106
+ return_type: 'File')
107
+ end
108
+ end
109
+ if @api_client.config.debugging
110
+ @api_client.config.logger.debug "API called:
111
+ AssemblyApi#assemble_document\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
112
+ end
113
+ [data, status_code, headers]
114
+ end
115
+
116
+ # Copy file
117
+ #
118
+ # @param request CopyFileRequest
119
+ # @return [nil]
120
+ def copy_file(request)
121
+ begin
122
+ data, _status_code, _headers = copy_file_with_http_info(request)
123
+ rescue ApiError => e
124
+ if e.code == 401
125
+ request_token
126
+ data, _status_code, _headers = copy_file_with_http_info(request)
127
+ else
128
+ raise
129
+ end
130
+ end
131
+ nil
132
+ end
133
+
134
+ # Copy file
135
+ #
136
+ # @param request CopyFileRequest
137
+ # @return [Array<(nil, Fixnum, Hash)>]
138
+ # nil, response status code and response headers
139
+ private def copy_file_with_http_info(request)
140
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? CopyFileRequest
141
+
142
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.copy_file ...' if @api_client.config.debugging
143
+ # verify the required parameter 'dest_path' is set
144
+ raise ArgumentError, 'Missing the required parameter dest_path when calling AssemblyApi.copy_file' if @api_client.config.client_side_validation && request.dest_path.nil?
145
+ # verify the required parameter 'src_path' is set
146
+ raise ArgumentError, 'Missing the required parameter src_path when calling AssemblyApi.copy_file' if @api_client.config.client_side_validation && request.src_path.nil?
147
+ # resource path
148
+ local_var_path = '/assembly/storage/file/copy/{srcPath}'
149
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcPath') + '}', request.src_path.to_s)
150
+
151
+ # query parameters
152
+ query_params = {}
153
+ query_params[downcase_first_letter('DestPath')] = request.dest_path
154
+
155
+ if local_var_path.include? downcase_first_letter('SrcStorageName')
156
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcStorageName') + '}', request.src_storage_name.to_s)
157
+ else
158
+ query_params[downcase_first_letter('SrcStorageName')] = request.src_storage_name unless request.src_storage_name.nil?
159
+ end
160
+ if local_var_path.include? downcase_first_letter('DestStorageName')
161
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('DestStorageName') + '}', request.dest_storage_name.to_s)
162
+ else
163
+ query_params[downcase_first_letter('DestStorageName')] = request.dest_storage_name unless request.dest_storage_name.nil?
164
+ end
165
+ if local_var_path.include? downcase_first_letter('VersionId')
166
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('VersionId') + '}', request.version_id.to_s)
167
+ else
168
+ query_params[downcase_first_letter('VersionId')] = request.version_id unless request.version_id.nil?
169
+ end
170
+
171
+ # header parameters
172
+ header_params = {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
175
+ # HTTP header 'Content-Type'
176
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
177
+
178
+ # form parameters
179
+ form_params = {}
180
+
181
+ # http body (model)
182
+ post_body = nil
183
+ auth_names = ['JWT']
184
+ begin
185
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
186
+ header_params: header_params,
187
+ query_params: query_params,
188
+ form_params: form_params,
189
+ body: post_body,
190
+ auth_names: auth_names)
191
+ rescue ApiError => e
192
+ if e.code == 401
193
+ request_token
194
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
195
+ header_params: header_params,
196
+ query_params: query_params,
197
+ form_params: form_params,
198
+ body: post_body,
199
+ auth_names: auth_names)
200
+ end
201
+ end
202
+ if @api_client.config.debugging
203
+ @api_client.config.logger.debug "API called:
204
+ AssemblyApi#copy_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
205
+ end
206
+ [data, status_code, headers]
207
+ end
208
+
209
+ # Copy folder
210
+ #
211
+ # @param request CopyFolderRequest
212
+ # @return [nil]
213
+ def copy_folder(request)
214
+ begin
215
+ data, _status_code, _headers = copy_folder_with_http_info(request)
216
+ rescue ApiError => e
217
+ if e.code == 401
218
+ request_token
219
+ data, _status_code, _headers = copy_folder_with_http_info(request)
220
+ else
221
+ raise
222
+ end
223
+ end
224
+ nil
225
+ end
226
+
227
+ # Copy folder
228
+ #
229
+ # @param request CopyFolderRequest
230
+ # @return [Array<(nil, Fixnum, Hash)>]
231
+ # nil, response status code and response headers
232
+ private def copy_folder_with_http_info(request)
233
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? CopyFolderRequest
234
+
235
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.copy_folder ...' if @api_client.config.debugging
236
+ # verify the required parameter 'dest_path' is set
237
+ raise ArgumentError, 'Missing the required parameter dest_path when calling AssemblyApi.copy_folder' if @api_client.config.client_side_validation && request.dest_path.nil?
238
+ # verify the required parameter 'src_path' is set
239
+ raise ArgumentError, 'Missing the required parameter src_path when calling AssemblyApi.copy_folder' if @api_client.config.client_side_validation && request.src_path.nil?
240
+ # resource path
241
+ local_var_path = '/assembly/storage/folder/copy/{srcPath}'
242
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcPath') + '}', request.src_path.to_s)
243
+
244
+ # query parameters
245
+ query_params = {}
246
+ query_params[downcase_first_letter('DestPath')] = request.dest_path
247
+
248
+ if local_var_path.include? downcase_first_letter('SrcStorageName')
249
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcStorageName') + '}', request.src_storage_name.to_s)
250
+ else
251
+ query_params[downcase_first_letter('SrcStorageName')] = request.src_storage_name unless request.src_storage_name.nil?
252
+ end
253
+ if local_var_path.include? downcase_first_letter('DestStorageName')
254
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('DestStorageName') + '}', request.dest_storage_name.to_s)
255
+ else
256
+ query_params[downcase_first_letter('DestStorageName')] = request.dest_storage_name unless request.dest_storage_name.nil?
257
+ end
258
+
259
+ # header parameters
260
+ header_params = {}
261
+ # HTTP header 'Accept' (if needed)
262
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
263
+ # HTTP header 'Content-Type'
264
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
265
+
266
+ # form parameters
267
+ form_params = {}
268
+
269
+ # http body (model)
270
+ post_body = nil
271
+ auth_names = ['JWT']
272
+ begin
273
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
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
+ rescue ApiError => e
280
+ if e.code == 401
281
+ request_token
282
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
283
+ header_params: header_params,
284
+ query_params: query_params,
285
+ form_params: form_params,
286
+ body: post_body,
287
+ auth_names: auth_names)
288
+ end
289
+ end
290
+ if @api_client.config.debugging
291
+ @api_client.config.logger.debug "API called:
292
+ AssemblyApi#copy_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
293
+ end
294
+ [data, status_code, headers]
295
+ end
296
+
297
+ # Create the folder
298
+ #
299
+ # @param request CreateFolderRequest
300
+ # @return [nil]
301
+ def create_folder(request)
302
+ begin
303
+ data, _status_code, _headers = create_folder_with_http_info(request)
304
+ rescue ApiError => e
305
+ if e.code == 401
306
+ request_token
307
+ data, _status_code, _headers = create_folder_with_http_info(request)
308
+ else
309
+ raise
310
+ end
311
+ end
312
+ nil
313
+ end
314
+
315
+ # Create the folder
316
+ #
317
+ # @param request CreateFolderRequest
318
+ # @return [Array<(nil, Fixnum, Hash)>]
319
+ # nil, response status code and response headers
320
+ private def create_folder_with_http_info(request)
321
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? CreateFolderRequest
322
+
323
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.create_folder ...' if @api_client.config.debugging
324
+ # verify the required parameter 'path' is set
325
+ raise ArgumentError, 'Missing the required parameter path when calling AssemblyApi.create_folder' if @api_client.config.client_side_validation && request.path.nil?
326
+ # resource path
327
+ local_var_path = '/assembly/storage/folder/{path}'
328
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Path') + '}', request.path.to_s)
329
+
330
+ # query parameters
331
+ query_params = {}
332
+ if local_var_path.include? downcase_first_letter('StorageName')
333
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('StorageName') + '}', request.storage_name.to_s)
334
+ else
335
+ query_params[downcase_first_letter('StorageName')] = request.storage_name unless request.storage_name.nil?
336
+ end
337
+
338
+ # header parameters
339
+ header_params = {}
340
+ # HTTP header 'Accept' (if needed)
341
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
342
+ # HTTP header 'Content-Type'
343
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
344
+
345
+ # form parameters
346
+ form_params = {}
347
+
348
+ # http body (model)
349
+ post_body = nil
350
+ auth_names = ['JWT']
351
+ begin
352
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
353
+ header_params: header_params,
354
+ query_params: query_params,
355
+ form_params: form_params,
356
+ body: post_body,
357
+ auth_names: auth_names)
358
+ rescue ApiError => e
359
+ if e.code == 401
360
+ request_token
361
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
362
+ header_params: header_params,
363
+ query_params: query_params,
364
+ form_params: form_params,
365
+ body: post_body,
366
+ auth_names: auth_names)
367
+ end
368
+ end
369
+ if @api_client.config.debugging
370
+ @api_client.config.logger.debug "API called:
371
+ AssemblyApi#create_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
372
+ end
373
+ [data, status_code, headers]
374
+ end
375
+
376
+ # Delete file
377
+ #
378
+ # @param request DeleteFileRequest
379
+ # @return [nil]
380
+ def delete_file(request)
381
+ begin
382
+ data, _status_code, _headers = delete_file_with_http_info(request)
383
+ rescue ApiError => e
384
+ if e.code == 401
385
+ request_token
386
+ data, _status_code, _headers = delete_file_with_http_info(request)
387
+ else
388
+ raise
389
+ end
390
+ end
391
+ nil
392
+ end
393
+
394
+ # Delete file
395
+ #
396
+ # @param request DeleteFileRequest
397
+ # @return [Array<(nil, Fixnum, Hash)>]
398
+ # nil, response status code and response headers
399
+ private def delete_file_with_http_info(request)
400
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? DeleteFileRequest
401
+
402
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.delete_file ...' if @api_client.config.debugging
403
+ # verify the required parameter 'path' is set
404
+ raise ArgumentError, 'Missing the required parameter path when calling AssemblyApi.delete_file' if @api_client.config.client_side_validation && request.path.nil?
405
+ # resource path
406
+ local_var_path = '/assembly/storage/file/{path}'
407
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Path') + '}', request.path.to_s)
408
+
409
+ # query parameters
410
+ query_params = {}
411
+ if local_var_path.include? downcase_first_letter('StorageName')
412
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('StorageName') + '}', request.storage_name.to_s)
413
+ else
414
+ query_params[downcase_first_letter('StorageName')] = request.storage_name unless request.storage_name.nil?
415
+ end
416
+ if local_var_path.include? downcase_first_letter('VersionId')
417
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('VersionId') + '}', request.version_id.to_s)
418
+ else
419
+ query_params[downcase_first_letter('VersionId')] = request.version_id unless request.version_id.nil?
420
+ end
421
+
422
+ # header parameters
423
+ header_params = {}
424
+ # HTTP header 'Accept' (if needed)
425
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
426
+ # HTTP header 'Content-Type'
427
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
428
+
429
+ # form parameters
430
+ form_params = {}
431
+
432
+ # http body (model)
433
+ post_body = nil
434
+ auth_names = ['JWT']
435
+ begin
436
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
437
+ header_params: header_params,
438
+ query_params: query_params,
439
+ form_params: form_params,
440
+ body: post_body,
441
+ auth_names: auth_names)
442
+ rescue ApiError => e
443
+ if e.code == 401
444
+ request_token
445
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
446
+ header_params: header_params,
447
+ query_params: query_params,
448
+ form_params: form_params,
449
+ body: post_body,
450
+ auth_names: auth_names)
451
+ end
452
+ end
453
+ if @api_client.config.debugging
454
+ @api_client.config.logger.debug "API called:
455
+ AssemblyApi#delete_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
456
+ end
457
+ [data, status_code, headers]
458
+ end
459
+
460
+ # Delete folder
461
+ #
462
+ # @param request DeleteFolderRequest
463
+ # @return [nil]
464
+ def delete_folder(request)
465
+ begin
466
+ data, _status_code, _headers = delete_folder_with_http_info(request)
467
+ rescue ApiError => e
468
+ if e.code == 401
469
+ request_token
470
+ data, _status_code, _headers = delete_folder_with_http_info(request)
471
+ else
472
+ raise
473
+ end
474
+ end
475
+ nil
476
+ end
477
+
478
+ # Delete folder
479
+ #
480
+ # @param request DeleteFolderRequest
481
+ # @return [Array<(nil, Fixnum, Hash)>]
482
+ # nil, response status code and response headers
483
+ private def delete_folder_with_http_info(request)
484
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? DeleteFolderRequest
485
+
486
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.delete_folder ...' if @api_client.config.debugging
487
+ # verify the required parameter 'path' is set
488
+ raise ArgumentError, 'Missing the required parameter path when calling AssemblyApi.delete_folder' if @api_client.config.client_side_validation && request.path.nil?
489
+ # resource path
490
+ local_var_path = '/assembly/storage/folder/{path}'
491
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Path') + '}', request.path.to_s)
492
+
493
+ # query parameters
494
+ query_params = {}
495
+ if local_var_path.include? downcase_first_letter('StorageName')
496
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('StorageName') + '}', request.storage_name.to_s)
497
+ else
498
+ query_params[downcase_first_letter('StorageName')] = request.storage_name unless request.storage_name.nil?
499
+ end
500
+ if local_var_path.include? downcase_first_letter('Recursive')
501
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Recursive') + '}', request.recursive.to_s)
502
+ else
503
+ query_params[downcase_first_letter('Recursive')] = request.recursive unless request.recursive.nil?
504
+ end
505
+
506
+ # header parameters
507
+ header_params = {}
508
+ # HTTP header 'Accept' (if needed)
509
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
510
+ # HTTP header 'Content-Type'
511
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
512
+
513
+ # form parameters
514
+ form_params = {}
515
+
516
+ # http body (model)
517
+ post_body = nil
518
+ auth_names = ['JWT']
519
+ begin
520
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
521
+ header_params: header_params,
522
+ query_params: query_params,
523
+ form_params: form_params,
524
+ body: post_body,
525
+ auth_names: auth_names)
526
+ rescue ApiError => e
527
+ if e.code == 401
528
+ request_token
529
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
530
+ header_params: header_params,
531
+ query_params: query_params,
532
+ form_params: form_params,
533
+ body: post_body,
534
+ auth_names: auth_names)
535
+ end
536
+ end
537
+ if @api_client.config.debugging
538
+ @api_client.config.logger.debug "API called:
539
+ AssemblyApi#delete_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
540
+ end
541
+ [data, status_code, headers]
542
+ end
543
+
544
+ # Download file
545
+ #
546
+ # @param request DownloadFileRequest
547
+ # @return [File]
548
+ def download_file(request)
549
+ begin
550
+ data, _status_code, _headers = download_file_with_http_info(request)
551
+ rescue ApiError => e
552
+ if e.code == 401
553
+ request_token
554
+ data, _status_code, _headers = download_file_with_http_info(request)
555
+ else
556
+ raise
557
+ end
558
+ end
559
+ data
560
+ end
561
+
562
+ # Download file
563
+ #
564
+ # @param request DownloadFileRequest
565
+ # @return [Array<(File, Fixnum, Hash)>]
566
+ # File data, response status code and response headers
567
+ private def download_file_with_http_info(request)
568
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? DownloadFileRequest
569
+
570
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.download_file ...' if @api_client.config.debugging
571
+ # verify the required parameter 'path' is set
572
+ raise ArgumentError, 'Missing the required parameter path when calling AssemblyApi.download_file' if @api_client.config.client_side_validation && request.path.nil?
573
+ # resource path
574
+ local_var_path = '/assembly/storage/file/{path}'
575
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Path') + '}', request.path.to_s)
576
+
577
+ # query parameters
578
+ query_params = {}
579
+ if local_var_path.include? downcase_first_letter('StorageName')
580
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('StorageName') + '}', request.storage_name.to_s)
581
+ else
582
+ query_params[downcase_first_letter('StorageName')] = request.storage_name unless request.storage_name.nil?
583
+ end
584
+ if local_var_path.include? downcase_first_letter('VersionId')
585
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('VersionId') + '}', request.version_id.to_s)
586
+ else
587
+ query_params[downcase_first_letter('VersionId')] = request.version_id unless request.version_id.nil?
588
+ end
589
+
590
+ # header parameters
591
+ header_params = {}
592
+ # HTTP header 'Accept' (if needed)
593
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
594
+ # HTTP header 'Content-Type'
595
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
596
+
597
+ # form parameters
598
+ form_params = {}
599
+
600
+ # http body (model)
601
+ post_body = nil
602
+ auth_names = ['JWT']
603
+ begin
604
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
605
+ header_params: header_params,
606
+ query_params: query_params,
607
+ form_params: form_params,
608
+ body: post_body,
609
+ auth_names: auth_names,
610
+ return_type: 'File')
611
+ rescue ApiError => e
612
+ if e.code == 401
613
+ request_token
614
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
615
+ header_params: header_params,
616
+ query_params: query_params,
617
+ form_params: form_params,
618
+ body: post_body,
619
+ auth_names: auth_names,
620
+ return_type: 'File')
621
+ end
622
+ end
623
+ if @api_client.config.debugging
624
+ @api_client.config.logger.debug "API called:
625
+ AssemblyApi#download_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
626
+ end
627
+ [data, status_code, headers]
628
+ end
629
+
630
+ # Get all files and folders within a folder
631
+ #
632
+ # @param request GetFilesListRequest
633
+ # @return [FilesList]
634
+ def get_files_list(request)
635
+ begin
636
+ data, _status_code, _headers = get_files_list_with_http_info(request)
637
+ rescue ApiError => e
638
+ if e.code == 401
639
+ request_token
640
+ data, _status_code, _headers = get_files_list_with_http_info(request)
641
+ else
642
+ raise
643
+ end
644
+ end
645
+ data
646
+ end
647
+
648
+ # Get all files and folders within a folder
649
+ #
650
+ # @param request GetFilesListRequest
651
+ # @return [Array<(FilesList, Fixnum, Hash)>]
652
+ # FilesList data, response status code and response headers
653
+ private def get_files_list_with_http_info(request)
654
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? GetFilesListRequest
655
+
656
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.get_files_list ...' if @api_client.config.debugging
657
+ # verify the required parameter 'path' is set
658
+ raise ArgumentError, 'Missing the required parameter path when calling AssemblyApi.get_files_list' if @api_client.config.client_side_validation && request.path.nil?
659
+ # resource path
660
+ local_var_path = '/assembly/storage/folder/{path}'
661
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Path') + '}', request.path.to_s)
662
+
663
+ # query parameters
664
+ query_params = {}
665
+ if local_var_path.include? downcase_first_letter('StorageName')
666
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('StorageName') + '}', request.storage_name.to_s)
667
+ else
668
+ query_params[downcase_first_letter('StorageName')] = request.storage_name unless request.storage_name.nil?
669
+ end
670
+
671
+ # header parameters
672
+ header_params = {}
673
+ # HTTP header 'Accept' (if needed)
674
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
675
+ # HTTP header 'Content-Type'
676
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
677
+
678
+ # form parameters
679
+ form_params = {}
680
+
681
+ # http body (model)
682
+ post_body = nil
683
+ auth_names = ['JWT']
684
+ begin
685
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
686
+ header_params: header_params,
687
+ query_params: query_params,
688
+ form_params: form_params,
689
+ body: post_body,
690
+ auth_names: auth_names,
691
+ return_type: 'FilesList')
692
+ rescue ApiError => e
693
+ if e.code == 401
694
+ request_token
695
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
696
+ header_params: header_params,
697
+ query_params: query_params,
698
+ form_params: form_params,
699
+ body: post_body,
700
+ auth_names: auth_names,
701
+ return_type: 'FilesList')
702
+ end
703
+ end
704
+ if @api_client.config.debugging
705
+ @api_client.config.logger.debug "API called:
706
+ AssemblyApi#get_files_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
707
+ end
708
+ [data, status_code, headers]
709
+ end
710
+
711
+ # Retrieves list of supported file formats.
712
+ #
713
+ # @param request GetSupportedFileFormatsRequest
714
+ # @return [FileFormatsResponse]
715
+ def get_supported_file_formats(request)
716
+ begin
717
+ data, _status_code, _headers = get_supported_file_formats_with_http_info(request)
718
+ rescue ApiError => e
719
+ if e.code == 401
720
+ request_token
721
+ data, _status_code, _headers = get_supported_file_formats_with_http_info(request)
722
+ else
723
+ raise
724
+ end
725
+ end
726
+ data
727
+ end
728
+
729
+ # Retrieves list of supported file formats.
730
+ #
731
+ # @param request GetSupportedFileFormatsRequest
732
+ # @return [Array<(FileFormatsResponse, Fixnum, Hash)>]
733
+ # FileFormatsResponse data, response status code and response headers
734
+ private def get_supported_file_formats_with_http_info(request)
735
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? GetSupportedFileFormatsRequest
736
+
737
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.get_supported_file_formats ...' if @api_client.config.debugging
738
+ # resource path
739
+ local_var_path = '/assembly/formats'
740
+
741
+ # query parameters
742
+ query_params = {}
743
+
744
+ # header parameters
745
+ header_params = {}
746
+ # HTTP header 'Accept' (if needed)
747
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
748
+ # HTTP header 'Content-Type'
749
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
750
+
751
+ # form parameters
752
+ form_params = {}
753
+
754
+ # http body (model)
755
+ post_body = nil
756
+ auth_names = ['JWT']
757
+ begin
758
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
759
+ header_params: header_params,
760
+ query_params: query_params,
761
+ form_params: form_params,
762
+ body: post_body,
763
+ auth_names: auth_names,
764
+ return_type: 'FileFormatsResponse')
765
+ rescue ApiError => e
766
+ if e.code == 401
767
+ request_token
768
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
769
+ header_params: header_params,
770
+ query_params: query_params,
771
+ form_params: form_params,
772
+ body: post_body,
773
+ auth_names: auth_names,
774
+ return_type: 'FileFormatsResponse')
775
+ end
776
+ end
777
+ if @api_client.config.debugging
778
+ @api_client.config.logger.debug "API called:
779
+ AssemblyApi#get_supported_file_formats\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
780
+ end
781
+ [data, status_code, headers]
782
+ end
783
+
784
+ # Move file
785
+ #
786
+ # @param request MoveFileRequest
787
+ # @return [nil]
788
+ def move_file(request)
789
+ begin
790
+ data, _status_code, _headers = move_file_with_http_info(request)
791
+ rescue ApiError => e
792
+ if e.code == 401
793
+ request_token
794
+ data, _status_code, _headers = move_file_with_http_info(request)
795
+ else
796
+ raise
797
+ end
798
+ end
799
+ nil
800
+ end
801
+
802
+ # Move file
803
+ #
804
+ # @param request MoveFileRequest
805
+ # @return [Array<(nil, Fixnum, Hash)>]
806
+ # nil, response status code and response headers
807
+ private def move_file_with_http_info(request)
808
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? MoveFileRequest
809
+
810
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.move_file ...' if @api_client.config.debugging
811
+ # verify the required parameter 'dest_path' is set
812
+ raise ArgumentError, 'Missing the required parameter dest_path when calling AssemblyApi.move_file' if @api_client.config.client_side_validation && request.dest_path.nil?
813
+ # verify the required parameter 'src_path' is set
814
+ raise ArgumentError, 'Missing the required parameter src_path when calling AssemblyApi.move_file' if @api_client.config.client_side_validation && request.src_path.nil?
815
+ # resource path
816
+ local_var_path = '/assembly/storage/file/move/{srcPath}'
817
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcPath') + '}', request.src_path.to_s)
818
+
819
+ # query parameters
820
+ query_params = {}
821
+ query_params[downcase_first_letter('DestPath')] = request.dest_path
822
+
823
+ if local_var_path.include? downcase_first_letter('SrcStorageName')
824
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcStorageName') + '}', request.src_storage_name.to_s)
825
+ else
826
+ query_params[downcase_first_letter('SrcStorageName')] = request.src_storage_name unless request.src_storage_name.nil?
827
+ end
828
+ if local_var_path.include? downcase_first_letter('DestStorageName')
829
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('DestStorageName') + '}', request.dest_storage_name.to_s)
830
+ else
831
+ query_params[downcase_first_letter('DestStorageName')] = request.dest_storage_name unless request.dest_storage_name.nil?
832
+ end
833
+ if local_var_path.include? downcase_first_letter('VersionId')
834
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('VersionId') + '}', request.version_id.to_s)
835
+ else
836
+ query_params[downcase_first_letter('VersionId')] = request.version_id unless request.version_id.nil?
837
+ end
838
+
839
+ # header parameters
840
+ header_params = {}
841
+ # HTTP header 'Accept' (if needed)
842
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
843
+ # HTTP header 'Content-Type'
844
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
845
+
846
+ # form parameters
847
+ form_params = {}
848
+
849
+ # http body (model)
850
+ post_body = nil
851
+ auth_names = ['JWT']
852
+ begin
853
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
854
+ header_params: header_params,
855
+ query_params: query_params,
856
+ form_params: form_params,
857
+ body: post_body,
858
+ auth_names: auth_names)
859
+ rescue ApiError => e
860
+ if e.code == 401
861
+ request_token
862
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
863
+ header_params: header_params,
864
+ query_params: query_params,
865
+ form_params: form_params,
866
+ body: post_body,
867
+ auth_names: auth_names)
868
+ end
869
+ end
870
+ if @api_client.config.debugging
871
+ @api_client.config.logger.debug "API called:
872
+ AssemblyApi#move_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
873
+ end
874
+ [data, status_code, headers]
875
+ end
876
+
877
+ # Move folder
878
+ #
879
+ # @param request MoveFolderRequest
880
+ # @return [nil]
881
+ def move_folder(request)
882
+ begin
883
+ data, _status_code, _headers = move_folder_with_http_info(request)
884
+ rescue ApiError => e
885
+ if e.code == 401
886
+ request_token
887
+ data, _status_code, _headers = move_folder_with_http_info(request)
888
+ else
889
+ raise
890
+ end
891
+ end
892
+ nil
893
+ end
894
+
895
+ # Move folder
896
+ #
897
+ # @param request MoveFolderRequest
898
+ # @return [Array<(nil, Fixnum, Hash)>]
899
+ # nil, response status code and response headers
900
+ private def move_folder_with_http_info(request)
901
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? MoveFolderRequest
902
+
903
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.move_folder ...' if @api_client.config.debugging
904
+ # verify the required parameter 'dest_path' is set
905
+ raise ArgumentError, 'Missing the required parameter dest_path when calling AssemblyApi.move_folder' if @api_client.config.client_side_validation && request.dest_path.nil?
906
+ # verify the required parameter 'src_path' is set
907
+ raise ArgumentError, 'Missing the required parameter src_path when calling AssemblyApi.move_folder' if @api_client.config.client_side_validation && request.src_path.nil?
908
+ # resource path
909
+ local_var_path = '/assembly/storage/folder/move/{srcPath}'
910
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcPath') + '}', request.src_path.to_s)
911
+
912
+ # query parameters
913
+ query_params = {}
914
+ query_params[downcase_first_letter('DestPath')] = request.dest_path
915
+
916
+ if local_var_path.include? downcase_first_letter('SrcStorageName')
917
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('SrcStorageName') + '}', request.src_storage_name.to_s)
918
+ else
919
+ query_params[downcase_first_letter('SrcStorageName')] = request.src_storage_name unless request.src_storage_name.nil?
920
+ end
921
+ if local_var_path.include? downcase_first_letter('DestStorageName')
922
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('DestStorageName') + '}', request.dest_storage_name.to_s)
923
+ else
924
+ query_params[downcase_first_letter('DestStorageName')] = request.dest_storage_name unless request.dest_storage_name.nil?
925
+ end
926
+
927
+ # header parameters
928
+ header_params = {}
929
+ # HTTP header 'Accept' (if needed)
930
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/xml'])
931
+ # HTTP header 'Content-Type'
932
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/xml'])
933
+
934
+ # form parameters
935
+ form_params = {}
936
+
937
+ # http body (model)
938
+ post_body = nil
939
+ auth_names = ['JWT']
940
+ begin
941
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
942
+ header_params: header_params,
943
+ query_params: query_params,
944
+ form_params: form_params,
945
+ body: post_body,
946
+ auth_names: auth_names)
947
+ rescue ApiError => e
948
+ if e.code == 401
949
+ request_token
950
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
951
+ header_params: header_params,
952
+ query_params: query_params,
953
+ form_params: form_params,
954
+ body: post_body,
955
+ auth_names: auth_names)
956
+ end
957
+ end
958
+ if @api_client.config.debugging
959
+ @api_client.config.logger.debug "API called:
960
+ AssemblyApi#move_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
961
+ end
962
+ [data, status_code, headers]
963
+ end
964
+
965
+ # Upload file
966
+ #
967
+ # @param request UploadFileRequest
968
+ # @return [FilesUploadResult]
969
+ def upload_file(request)
970
+ begin
971
+ data, _status_code, _headers = upload_file_with_http_info(request)
972
+ rescue ApiError => e
973
+ if e.code == 401
974
+ request_token
975
+ data, _status_code, _headers = upload_file_with_http_info(request)
976
+ else
977
+ raise
978
+ end
979
+ end
980
+ data
981
+ end
982
+
983
+ # Upload file
984
+ #
985
+ # @param request UploadFileRequest
986
+ # @return [Array<(FilesUploadResult, Fixnum, Hash)>]
987
+ # FilesUploadResult data, response status code and response headers
988
+ private def upload_file_with_http_info(request)
989
+ raise ArgumentError, 'Incorrect request type' unless request.is_a? UploadFileRequest
990
+
991
+ @api_client.config.logger.debug 'Calling API: AssemblyApi.upload_file ...' if @api_client.config.debugging
992
+ # verify the required parameter 'file' is set
993
+ raise ArgumentError, 'Missing the required parameter file when calling AssemblyApi.upload_file' if @api_client.config.client_side_validation && request.file.nil?
994
+ # verify the required parameter 'path' is set
995
+ raise ArgumentError, 'Missing the required parameter path when calling AssemblyApi.upload_file' if @api_client.config.client_side_validation && request.path.nil?
996
+ # resource path
997
+ local_var_path = '/assembly/storage/file/{path}'
998
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('Path') + '}', request.path.to_s)
999
+
1000
+ # query parameters
1001
+ query_params = {}
1002
+ if local_var_path.include? downcase_first_letter('StorageName')
1003
+ local_var_path = local_var_path.sub('{' + downcase_first_letter('StorageName') + '}', request.storage_name.to_s)
1004
+ else
1005
+ query_params[downcase_first_letter('StorageName')] = request.storage_name unless request.storage_name.nil?
1006
+ end
1007
+
1008
+ # header parameters
1009
+ header_params = {}
1010
+ # HTTP header 'Content-Type'
1011
+ header_params['Content-Type'] = 'multipart/form-data'
1012
+
1013
+ # form parameters
1014
+ form_params = {}
1015
+ form_params[downcase_first_letter('File')] = request.file
1016
+
1017
+ # http body (model)
1018
+ post_body = nil
1019
+ auth_names = ['JWT']
1020
+ begin
1021
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1022
+ header_params: header_params,
1023
+ query_params: query_params,
1024
+ form_params: form_params,
1025
+ body: post_body,
1026
+ auth_names: auth_names,
1027
+ return_type: 'FilesUploadResult')
1028
+ rescue ApiError => e
1029
+ if e.code == 401
1030
+ request_token
1031
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
1032
+ header_params: header_params,
1033
+ query_params: query_params,
1034
+ form_params: form_params,
1035
+ body: post_body,
1036
+ auth_names: auth_names,
1037
+ return_type: 'FilesUploadResult')
1038
+ end
1039
+ end
1040
+ if @api_client.config.debugging
1041
+ @api_client.config.logger.debug "API called:
1042
+ AssemblyApi#upload_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1043
+ end
1044
+ [data, status_code, headers]
1045
+ end
1046
+
1047
+ #
1048
+ # Helper method to convert first letter to downcase
1049
+ #
1050
+ private def downcase_first_letter(str)
1051
+ value = str[0].downcase + str[1..-1]
1052
+ value
1053
+ end
1054
+
1055
+ #
1056
+ # Gets a request token from server
1057
+ #
1058
+ private def request_token
1059
+ config = @api_client.config
1060
+ request_url = "/connect/token"
1061
+ post_data = "grant_type=client_credentials" + "&client_id=" + config.api_key['app_sid'] + "&client_secret=" + config.api_key['api_key']
1062
+ data, status_code, header = @api_client.call_api(:POST, request_url, :body => post_data, :return_type => 'Object', :header_params => {'Content-Type': 'application/x-www-form-urlencoded'})
1063
+ @api_client.config.access_token = data[:access_token]
1064
+ end
1065
+
1066
+ # requires all files inside a directory from current dir
1067
+ # @param _dir can be relative path like '/lib' or "../lib"
1068
+ private def require_all(_dir)
1069
+ Dir[File.expand_path(File.join(File.dirname(File.absolute_path(__FILE__)), _dir)) + "/*.rb"].each do |file|
1070
+ require file
1071
+ end
1072
+ end
1073
+ end
1074
+ end