groupdocs_assembly_cloud 20.6.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 (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