ilovevideoeditor-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/lib/generated/ilovevideoeditor-sdk/api/api_keys_api.rb +204 -0
  3. data/lib/generated/ilovevideoeditor-sdk/api/assets_api.rb +632 -0
  4. data/lib/generated/ilovevideoeditor-sdk/api/billing_api.rb +428 -0
  5. data/lib/generated/ilovevideoeditor-sdk/api/health_api.rb +134 -0
  6. data/lib/generated/ilovevideoeditor-sdk/api/integrations_api.rb +587 -0
  7. data/lib/generated/ilovevideoeditor-sdk/api/projects_api.rb +614 -0
  8. data/lib/generated/ilovevideoeditor-sdk/api/render_api.rb +656 -0
  9. data/lib/generated/ilovevideoeditor-sdk/api/renditions_api.rb +420 -0
  10. data/lib/generated/ilovevideoeditor-sdk/api/templates_api.rb +217 -0
  11. data/lib/generated/ilovevideoeditor-sdk/api/tools_api.rb +220 -0
  12. data/lib/generated/ilovevideoeditor-sdk/api/webhooks_api.rb +204 -0
  13. data/lib/generated/ilovevideoeditor-sdk/api/workflows_api.rb +854 -0
  14. data/lib/generated/ilovevideoeditor-sdk/api_client.rb +397 -0
  15. data/lib/generated/ilovevideoeditor-sdk/api_error.rb +58 -0
  16. data/lib/generated/ilovevideoeditor-sdk/api_model_base.rb +88 -0
  17. data/lib/generated/ilovevideoeditor-sdk/configuration.rb +316 -0
  18. data/lib/generated/ilovevideoeditor-sdk/models/api_key.rb +246 -0
  19. data/lib/generated/ilovevideoeditor-sdk/models/api_key_with_secret.rb +191 -0
  20. data/lib/generated/ilovevideoeditor-sdk/models/asset.rb +404 -0
  21. data/lib/generated/ilovevideoeditor-sdk/models/asset_create.rb +303 -0
  22. data/lib/generated/ilovevideoeditor-sdk/models/asset_upload_url_response.rb +295 -0
  23. data/lib/generated/ilovevideoeditor-sdk/models/batch_delete_projects_request.rb +184 -0
  24. data/lib/generated/ilovevideoeditor-sdk/models/batch_delete_result.rb +175 -0
  25. data/lib/generated/ilovevideoeditor-sdk/models/billing_prices.rb +158 -0
  26. data/lib/generated/ilovevideoeditor-sdk/models/billing_prices_tiers.rb +168 -0
  27. data/lib/generated/ilovevideoeditor-sdk/models/billing_subscription.rb +254 -0
  28. data/lib/generated/ilovevideoeditor-sdk/models/cancel_render200_response.rb +225 -0
  29. data/lib/generated/ilovevideoeditor-sdk/models/create_api_key_request.rb +147 -0
  30. data/lib/generated/ilovevideoeditor-sdk/models/create_asset201_response.rb +164 -0
  31. data/lib/generated/ilovevideoeditor-sdk/models/create_checkout_session200_response.rb +164 -0
  32. data/lib/generated/ilovevideoeditor-sdk/models/create_checkout_session_request.rb +220 -0
  33. data/lib/generated/ilovevideoeditor-sdk/models/create_integration201_response.rb +164 -0
  34. data/lib/generated/ilovevideoeditor-sdk/models/create_project200_response.rb +164 -0
  35. data/lib/generated/ilovevideoeditor-sdk/models/create_workflow201_response.rb +164 -0
  36. data/lib/generated/ilovevideoeditor-sdk/models/create_workflow_request.rb +208 -0
  37. data/lib/generated/ilovevideoeditor-sdk/models/credit_balance.rb +219 -0
  38. data/lib/generated/ilovevideoeditor-sdk/models/credit_balance_summary.rb +174 -0
  39. data/lib/generated/ilovevideoeditor-sdk/models/credit_balance_usage.rb +156 -0
  40. data/lib/generated/ilovevideoeditor-sdk/models/delete_project200_response.rb +190 -0
  41. data/lib/generated/ilovevideoeditor-sdk/models/destination.rb +331 -0
  42. data/lib/generated/ilovevideoeditor-sdk/models/destination_input.rb +304 -0
  43. data/lib/generated/ilovevideoeditor-sdk/models/error.rb +182 -0
  44. data/lib/generated/ilovevideoeditor-sdk/models/estimate_render_cost_request.rb +164 -0
  45. data/lib/generated/ilovevideoeditor-sdk/models/get_asset_signed_url200_response.rb +164 -0
  46. data/lib/generated/ilovevideoeditor-sdk/models/get_asset_upload_url_request.rb +214 -0
  47. data/lib/generated/ilovevideoeditor-sdk/models/get_destination200_response.rb +164 -0
  48. data/lib/generated/ilovevideoeditor-sdk/models/get_project200_response.rb +173 -0
  49. data/lib/generated/ilovevideoeditor-sdk/models/get_project_stats200_response.rb +164 -0
  50. data/lib/generated/ilovevideoeditor-sdk/models/get_render_download_url200_response.rb +190 -0
  51. data/lib/generated/ilovevideoeditor-sdk/models/get_rendition200_response.rb +164 -0
  52. data/lib/generated/ilovevideoeditor-sdk/models/get_subscription200_response.rb +164 -0
  53. data/lib/generated/ilovevideoeditor-sdk/models/get_template200_response.rb +164 -0
  54. data/lib/generated/ilovevideoeditor-sdk/models/get_usage200_response.rb +166 -0
  55. data/lib/generated/ilovevideoeditor-sdk/models/get_workflow200_response.rb +175 -0
  56. data/lib/generated/ilovevideoeditor-sdk/models/get_workflow_run200_response.rb +175 -0
  57. data/lib/generated/ilovevideoeditor-sdk/models/health_check200_response.rb +147 -0
  58. data/lib/generated/ilovevideoeditor-sdk/models/health_check_detailed200_response.rb +199 -0
  59. data/lib/generated/ilovevideoeditor-sdk/models/health_check_detailed200_response_services.rb +156 -0
  60. data/lib/generated/ilovevideoeditor-sdk/models/list_api_keys200_response.rb +166 -0
  61. data/lib/generated/ilovevideoeditor-sdk/models/list_assets200_response.rb +185 -0
  62. data/lib/generated/ilovevideoeditor-sdk/models/list_integrations200_response.rb +166 -0
  63. data/lib/generated/ilovevideoeditor-sdk/models/list_invoices200_response.rb +158 -0
  64. data/lib/generated/ilovevideoeditor-sdk/models/list_projects200_response.rb +185 -0
  65. data/lib/generated/ilovevideoeditor-sdk/models/list_renditions200_response.rb +185 -0
  66. data/lib/generated/ilovevideoeditor-sdk/models/list_templates200_response.rb +166 -0
  67. data/lib/generated/ilovevideoeditor-sdk/models/list_webhook_subscriptions200_response.rb +166 -0
  68. data/lib/generated/ilovevideoeditor-sdk/models/list_workflow_runs200_response.rb +185 -0
  69. data/lib/generated/ilovevideoeditor-sdk/models/list_workflow_step_types200_response.rb +166 -0
  70. data/lib/generated/ilovevideoeditor-sdk/models/list_workflows200_response.rb +185 -0
  71. data/lib/generated/ilovevideoeditor-sdk/models/project.rb +329 -0
  72. data/lib/generated/ilovevideoeditor-sdk/models/project_create.rb +218 -0
  73. data/lib/generated/ilovevideoeditor-sdk/models/project_update.rb +239 -0
  74. data/lib/generated/ilovevideoeditor-sdk/models/queue_render200_response.rb +199 -0
  75. data/lib/generated/ilovevideoeditor-sdk/models/queue_render_request.rb +182 -0
  76. data/lib/generated/ilovevideoeditor-sdk/models/refresh_render_url200_response.rb +190 -0
  77. data/lib/generated/ilovevideoeditor-sdk/models/render_cost_estimate.rb +254 -0
  78. data/lib/generated/ilovevideoeditor-sdk/models/render_cost_estimate_resolution.rb +165 -0
  79. data/lib/generated/ilovevideoeditor-sdk/models/render_cost_estimate_tier.rb +165 -0
  80. data/lib/generated/ilovevideoeditor-sdk/models/render_job.rb +271 -0
  81. data/lib/generated/ilovevideoeditor-sdk/models/render_job_progress.rb +165 -0
  82. data/lib/generated/ilovevideoeditor-sdk/models/render_list_item.rb +356 -0
  83. data/lib/generated/ilovevideoeditor-sdk/models/render_template_request.rb +167 -0
  84. data/lib/generated/ilovevideoeditor-sdk/models/render_webhook_payload.rb +357 -0
  85. data/lib/generated/ilovevideoeditor-sdk/models/rendition.rb +335 -0
  86. data/lib/generated/ilovevideoeditor-sdk/models/rendition_cancel_result.rb +236 -0
  87. data/lib/generated/ilovevideoeditor-sdk/models/rendition_output.rb +233 -0
  88. data/lib/generated/ilovevideoeditor-sdk/models/rendition_stats.rb +192 -0
  89. data/lib/generated/ilovevideoeditor-sdk/models/run_workflow202_response.rb +164 -0
  90. data/lib/generated/ilovevideoeditor-sdk/models/run_workflow_request.rb +149 -0
  91. data/lib/generated/ilovevideoeditor-sdk/models/service_health.rb +208 -0
  92. data/lib/generated/ilovevideoeditor-sdk/models/template.rb +324 -0
  93. data/lib/generated/ilovevideoeditor-sdk/models/template_summary.rb +322 -0
  94. data/lib/generated/ilovevideoeditor-sdk/models/test_integration200_response.rb +174 -0
  95. data/lib/generated/ilovevideoeditor-sdk/models/tier_info.rb +214 -0
  96. data/lib/generated/ilovevideoeditor-sdk/models/tier_info_credits.rb +165 -0
  97. data/lib/generated/ilovevideoeditor-sdk/models/tool_job_request.rb +242 -0
  98. data/lib/generated/ilovevideoeditor-sdk/models/tool_job_request_dimensions.rb +208 -0
  99. data/lib/generated/ilovevideoeditor-sdk/models/tool_job_status.rb +310 -0
  100. data/lib/generated/ilovevideoeditor-sdk/models/track_render_bandwidth200_response.rb +164 -0
  101. data/lib/generated/ilovevideoeditor-sdk/models/update_workflow_request.rb +174 -0
  102. data/lib/generated/ilovevideoeditor-sdk/models/upload_asset200_response.rb +164 -0
  103. data/lib/generated/ilovevideoeditor-sdk/models/usage_log.rb +302 -0
  104. data/lib/generated/ilovevideoeditor-sdk/models/video_json.rb +243 -0
  105. data/lib/generated/ilovevideoeditor-sdk/models/video_json_destination.rb +227 -0
  106. data/lib/generated/ilovevideoeditor-sdk/models/webhook_subscription.rb +283 -0
  107. data/lib/generated/ilovevideoeditor-sdk/models/webhook_subscription_create.rb +204 -0
  108. data/lib/generated/ilovevideoeditor-sdk/models/workflow.rb +356 -0
  109. data/lib/generated/ilovevideoeditor-sdk/models/workflow_definition.rb +262 -0
  110. data/lib/generated/ilovevideoeditor-sdk/models/workflow_run.rb +372 -0
  111. data/lib/generated/ilovevideoeditor-sdk/models/workflow_run_step.rb +409 -0
  112. data/lib/generated/ilovevideoeditor-sdk/models/workflow_step.rb +262 -0
  113. data/lib/generated/ilovevideoeditor-sdk/models/workflow_variable.rb +242 -0
  114. data/lib/generated/ilovevideoeditor-sdk/models/workspace_integration.rb +398 -0
  115. data/lib/generated/ilovevideoeditor-sdk/models/workspace_integration_input.rb +260 -0
  116. data/lib/generated/ilovevideoeditor-sdk/version.rb +15 -0
  117. data/lib/generated/ilovevideoeditor-sdk.rb +150 -0
  118. data/lib/ilovevideoeditor/client.rb +106 -0
  119. data/lib/ilovevideoeditor-sdk.rb +2 -0
  120. metadata +181 -0
@@ -0,0 +1,420 @@
1
+ =begin
2
+ #iLoveVideoEditor API
3
+
4
+ #Cloud video rendering API for iLoveVideoEditor. Submit a `VideoJSON` payload, queue a render job, and download the resulting MP4. **Authentication** - **API Key** (`x-api-key` header) — accepted by render pipeline and tool endpoints. - **Bearer Token** (`Authorization: Bearer <jwt>`) — required for user-scoped project, asset, billing, and webhook endpoints. - Many endpoints accept either form of authentication. **SDKs** Official typed SDKs are available for JavaScript/TypeScript, PHP, Python, Ruby, and Go. See https://ilovevideoeditor.com/docs/sdks **Outbound Webhooks** Render lifecycle events (`render.completed`, `render.failed`) are delivered to your endpoints as signed HTTP POST requests. See the `Webhooks` tag and the root-level `x-webhook-docs` extension for the payload format (`RenderWebhookPayload`), signature headers, HMAC verification, and the retry policy.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module ILoveVideoEditor
16
+ class RenditionsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Bulk delete renditions
23
+ # @param batch_delete_projects_request [BatchDeleteProjectsRequest]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [BatchDeleteResult]
26
+ def batch_delete_renditions(batch_delete_projects_request, opts = {})
27
+ data, _status_code, _headers = batch_delete_renditions_with_http_info(batch_delete_projects_request, opts)
28
+ data
29
+ end
30
+
31
+ # Bulk delete renditions
32
+ # @param batch_delete_projects_request [BatchDeleteProjectsRequest]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(BatchDeleteResult, Integer, Hash)>] BatchDeleteResult data, response status code and response headers
35
+ def batch_delete_renditions_with_http_info(batch_delete_projects_request, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: RenditionsApi.batch_delete_renditions ...'
38
+ end
39
+ # verify the required parameter 'batch_delete_projects_request' is set
40
+ if @api_client.config.client_side_validation && batch_delete_projects_request.nil?
41
+ fail ArgumentError, "Missing the required parameter 'batch_delete_projects_request' when calling RenditionsApi.batch_delete_renditions"
42
+ end
43
+ # resource path
44
+ local_var_path = '/v1/renditions/batch-delete'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(batch_delete_projects_request)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'BatchDeleteResult'
67
+
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"RenditionsApi.batch_delete_renditions",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: RenditionsApi#batch_delete_renditions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Cancel a rendition
89
+ # @param id [String]
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [RenditionCancelResult]
92
+ def cancel_rendition(id, opts = {})
93
+ data, _status_code, _headers = cancel_rendition_with_http_info(id, opts)
94
+ data
95
+ end
96
+
97
+ # Cancel a rendition
98
+ # @param id [String]
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [Array<(RenditionCancelResult, Integer, Hash)>] RenditionCancelResult data, response status code and response headers
101
+ def cancel_rendition_with_http_info(id, opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: RenditionsApi.cancel_rendition ...'
104
+ end
105
+ # verify the required parameter 'id' is set
106
+ if @api_client.config.client_side_validation && id.nil?
107
+ fail ArgumentError, "Missing the required parameter 'id' when calling RenditionsApi.cancel_rendition"
108
+ end
109
+ # resource path
110
+ local_var_path = '/v1/renditions/{id}/cancel'.sub('{id}', CGI.escape(id.to_s))
111
+
112
+ # query parameters
113
+ query_params = opts[:query_params] || {}
114
+
115
+ # header parameters
116
+ header_params = opts[:header_params] || {}
117
+ # HTTP header 'Accept' (if needed)
118
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
119
+
120
+ # form parameters
121
+ form_params = opts[:form_params] || {}
122
+
123
+ # http body (model)
124
+ post_body = opts[:debug_body]
125
+
126
+ # return_type
127
+ return_type = opts[:debug_return_type] || 'RenditionCancelResult'
128
+
129
+ # auth_names
130
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth', 'BearerAuth']
131
+
132
+ new_options = opts.merge(
133
+ :operation => :"RenditionsApi.cancel_rendition",
134
+ :header_params => header_params,
135
+ :query_params => query_params,
136
+ :form_params => form_params,
137
+ :body => post_body,
138
+ :auth_names => auth_names,
139
+ :return_type => return_type
140
+ )
141
+
142
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
143
+ if @api_client.config.debugging
144
+ @api_client.config.logger.debug "API called: RenditionsApi#cancel_rendition\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
145
+ end
146
+ return data, status_code, headers
147
+ end
148
+
149
+ # Delete a rendition
150
+ # @param id [String]
151
+ # @param [Hash] opts the optional parameters
152
+ # @return [DeleteProject200Response]
153
+ def delete_rendition(id, opts = {})
154
+ data, _status_code, _headers = delete_rendition_with_http_info(id, opts)
155
+ data
156
+ end
157
+
158
+ # Delete a rendition
159
+ # @param id [String]
160
+ # @param [Hash] opts the optional parameters
161
+ # @return [Array<(DeleteProject200Response, Integer, Hash)>] DeleteProject200Response data, response status code and response headers
162
+ def delete_rendition_with_http_info(id, opts = {})
163
+ if @api_client.config.debugging
164
+ @api_client.config.logger.debug 'Calling API: RenditionsApi.delete_rendition ...'
165
+ end
166
+ # verify the required parameter 'id' is set
167
+ if @api_client.config.client_side_validation && id.nil?
168
+ fail ArgumentError, "Missing the required parameter 'id' when calling RenditionsApi.delete_rendition"
169
+ end
170
+ # resource path
171
+ local_var_path = '/v1/renditions/{id}'.sub('{id}', CGI.escape(id.to_s))
172
+
173
+ # query parameters
174
+ query_params = opts[:query_params] || {}
175
+
176
+ # header parameters
177
+ header_params = opts[:header_params] || {}
178
+ # HTTP header 'Accept' (if needed)
179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
180
+
181
+ # form parameters
182
+ form_params = opts[:form_params] || {}
183
+
184
+ # http body (model)
185
+ post_body = opts[:debug_body]
186
+
187
+ # return_type
188
+ return_type = opts[:debug_return_type] || 'DeleteProject200Response'
189
+
190
+ # auth_names
191
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
192
+
193
+ new_options = opts.merge(
194
+ :operation => :"RenditionsApi.delete_rendition",
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
+ :return_type => return_type
201
+ )
202
+
203
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug "API called: RenditionsApi#delete_rendition\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
206
+ end
207
+ return data, status_code, headers
208
+ end
209
+
210
+ # Get a single rendition
211
+ # @param id [String]
212
+ # @param [Hash] opts the optional parameters
213
+ # @return [GetRendition200Response]
214
+ def get_rendition(id, opts = {})
215
+ data, _status_code, _headers = get_rendition_with_http_info(id, opts)
216
+ data
217
+ end
218
+
219
+ # Get a single rendition
220
+ # @param id [String]
221
+ # @param [Hash] opts the optional parameters
222
+ # @return [Array<(GetRendition200Response, Integer, Hash)>] GetRendition200Response data, response status code and response headers
223
+ def get_rendition_with_http_info(id, opts = {})
224
+ if @api_client.config.debugging
225
+ @api_client.config.logger.debug 'Calling API: RenditionsApi.get_rendition ...'
226
+ end
227
+ # verify the required parameter 'id' is set
228
+ if @api_client.config.client_side_validation && id.nil?
229
+ fail ArgumentError, "Missing the required parameter 'id' when calling RenditionsApi.get_rendition"
230
+ end
231
+ # resource path
232
+ local_var_path = '/v1/renditions/{id}'.sub('{id}', CGI.escape(id.to_s))
233
+
234
+ # query parameters
235
+ query_params = opts[:query_params] || {}
236
+
237
+ # header parameters
238
+ header_params = opts[:header_params] || {}
239
+ # HTTP header 'Accept' (if needed)
240
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
241
+
242
+ # form parameters
243
+ form_params = opts[:form_params] || {}
244
+
245
+ # http body (model)
246
+ post_body = opts[:debug_body]
247
+
248
+ # return_type
249
+ return_type = opts[:debug_return_type] || 'GetRendition200Response'
250
+
251
+ # auth_names
252
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
253
+
254
+ new_options = opts.merge(
255
+ :operation => :"RenditionsApi.get_rendition",
256
+ :header_params => header_params,
257
+ :query_params => query_params,
258
+ :form_params => form_params,
259
+ :body => post_body,
260
+ :auth_names => auth_names,
261
+ :return_type => return_type
262
+ )
263
+
264
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
265
+ if @api_client.config.debugging
266
+ @api_client.config.logger.debug "API called: RenditionsApi#get_rendition\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
267
+ end
268
+ return data, status_code, headers
269
+ end
270
+
271
+ # Get render statistics
272
+ # @param [Hash] opts the optional parameters
273
+ # @return [RenditionStats]
274
+ def get_rendition_stats(opts = {})
275
+ data, _status_code, _headers = get_rendition_stats_with_http_info(opts)
276
+ data
277
+ end
278
+
279
+ # Get render statistics
280
+ # @param [Hash] opts the optional parameters
281
+ # @return [Array<(RenditionStats, Integer, Hash)>] RenditionStats data, response status code and response headers
282
+ def get_rendition_stats_with_http_info(opts = {})
283
+ if @api_client.config.debugging
284
+ @api_client.config.logger.debug 'Calling API: RenditionsApi.get_rendition_stats ...'
285
+ end
286
+ # resource path
287
+ local_var_path = '/v1/renditions/stats'
288
+
289
+ # query parameters
290
+ query_params = opts[:query_params] || {}
291
+
292
+ # header parameters
293
+ header_params = opts[:header_params] || {}
294
+ # HTTP header 'Accept' (if needed)
295
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
296
+
297
+ # form parameters
298
+ form_params = opts[:form_params] || {}
299
+
300
+ # http body (model)
301
+ post_body = opts[:debug_body]
302
+
303
+ # return_type
304
+ return_type = opts[:debug_return_type] || 'RenditionStats'
305
+
306
+ # auth_names
307
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
308
+
309
+ new_options = opts.merge(
310
+ :operation => :"RenditionsApi.get_rendition_stats",
311
+ :header_params => header_params,
312
+ :query_params => query_params,
313
+ :form_params => form_params,
314
+ :body => post_body,
315
+ :auth_names => auth_names,
316
+ :return_type => return_type
317
+ )
318
+
319
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
320
+ if @api_client.config.debugging
321
+ @api_client.config.logger.debug "API called: RenditionsApi#get_rendition_stats\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
322
+ end
323
+ return data, status_code, headers
324
+ end
325
+
326
+ # List render history
327
+ # @param [Hash] opts the optional parameters
328
+ # @option opts [Integer] :page (default to 1)
329
+ # @option opts [Integer] :limit (default to 25)
330
+ # @option opts [String] :sort_by (default to 'created_at')
331
+ # @option opts [String] :sort_order (default to 'desc')
332
+ # @option opts [String] :status
333
+ # @option opts [String] :search
334
+ # @option opts [Time] :from
335
+ # @option opts [Time] :to
336
+ # @option opts [String] :project_id
337
+ # @return [ListRenditions200Response]
338
+ def list_renditions(opts = {})
339
+ data, _status_code, _headers = list_renditions_with_http_info(opts)
340
+ data
341
+ end
342
+
343
+ # List render history
344
+ # @param [Hash] opts the optional parameters
345
+ # @option opts [Integer] :page (default to 1)
346
+ # @option opts [Integer] :limit (default to 25)
347
+ # @option opts [String] :sort_by (default to 'created_at')
348
+ # @option opts [String] :sort_order (default to 'desc')
349
+ # @option opts [String] :status
350
+ # @option opts [String] :search
351
+ # @option opts [Time] :from
352
+ # @option opts [Time] :to
353
+ # @option opts [String] :project_id
354
+ # @return [Array<(ListRenditions200Response, Integer, Hash)>] ListRenditions200Response data, response status code and response headers
355
+ def list_renditions_with_http_info(opts = {})
356
+ if @api_client.config.debugging
357
+ @api_client.config.logger.debug 'Calling API: RenditionsApi.list_renditions ...'
358
+ end
359
+ allowable_values = ["created_at", "duration", "status", "cost", "job_id"]
360
+ if @api_client.config.client_side_validation && opts[:'sort_by'] && !allowable_values.include?(opts[:'sort_by'])
361
+ fail ArgumentError, "invalid value for \"sort_by\", must be one of #{allowable_values}"
362
+ end
363
+ allowable_values = ["asc", "desc"]
364
+ if @api_client.config.client_side_validation && opts[:'sort_order'] && !allowable_values.include?(opts[:'sort_order'])
365
+ fail ArgumentError, "invalid value for \"sort_order\", must be one of #{allowable_values}"
366
+ end
367
+ allowable_values = ["queued", "processing", "rendering", "completed", "failed"]
368
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
369
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
370
+ end
371
+ # resource path
372
+ local_var_path = '/v1/renditions'
373
+
374
+ # query parameters
375
+ query_params = opts[:query_params] || {}
376
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
377
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
378
+ query_params[:'sortBy'] = opts[:'sort_by'] if !opts[:'sort_by'].nil?
379
+ query_params[:'sortOrder'] = opts[:'sort_order'] if !opts[:'sort_order'].nil?
380
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
381
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
382
+ query_params[:'from'] = opts[:'from'] if !opts[:'from'].nil?
383
+ query_params[:'to'] = opts[:'to'] if !opts[:'to'].nil?
384
+ query_params[:'projectId'] = opts[:'project_id'] if !opts[:'project_id'].nil?
385
+
386
+ # header parameters
387
+ header_params = opts[:header_params] || {}
388
+ # HTTP header 'Accept' (if needed)
389
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
390
+
391
+ # form parameters
392
+ form_params = opts[:form_params] || {}
393
+
394
+ # http body (model)
395
+ post_body = opts[:debug_body]
396
+
397
+ # return_type
398
+ return_type = opts[:debug_return_type] || 'ListRenditions200Response'
399
+
400
+ # auth_names
401
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
402
+
403
+ new_options = opts.merge(
404
+ :operation => :"RenditionsApi.list_renditions",
405
+ :header_params => header_params,
406
+ :query_params => query_params,
407
+ :form_params => form_params,
408
+ :body => post_body,
409
+ :auth_names => auth_names,
410
+ :return_type => return_type
411
+ )
412
+
413
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
414
+ if @api_client.config.debugging
415
+ @api_client.config.logger.debug "API called: RenditionsApi#list_renditions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
416
+ end
417
+ return data, status_code, headers
418
+ end
419
+ end
420
+ end
@@ -0,0 +1,217 @@
1
+ =begin
2
+ #iLoveVideoEditor API
3
+
4
+ #Cloud video rendering API for iLoveVideoEditor. Submit a `VideoJSON` payload, queue a render job, and download the resulting MP4. **Authentication** - **API Key** (`x-api-key` header) — accepted by render pipeline and tool endpoints. - **Bearer Token** (`Authorization: Bearer <jwt>`) — required for user-scoped project, asset, billing, and webhook endpoints. - Many endpoints accept either form of authentication. **SDKs** Official typed SDKs are available for JavaScript/TypeScript, PHP, Python, Ruby, and Go. See https://ilovevideoeditor.com/docs/sdks **Outbound Webhooks** Render lifecycle events (`render.completed`, `render.failed`) are delivered to your endpoints as signed HTTP POST requests. See the `Webhooks` tag and the root-level `x-webhook-docs` extension for the payload format (`RenderWebhookPayload`), signature headers, HMAC verification, and the retry policy.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.22.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module ILoveVideoEditor
16
+ class TemplatesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get a single template
23
+ # @param id [String]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [GetTemplate200Response]
26
+ def get_template(id, opts = {})
27
+ data, _status_code, _headers = get_template_with_http_info(id, opts)
28
+ data
29
+ end
30
+
31
+ # Get a single template
32
+ # @param id [String]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(GetTemplate200Response, Integer, Hash)>] GetTemplate200Response data, response status code and response headers
35
+ def get_template_with_http_info(id, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: TemplatesApi.get_template ...'
38
+ end
39
+ # verify the required parameter 'id' is set
40
+ if @api_client.config.client_side_validation && id.nil?
41
+ fail ArgumentError, "Missing the required parameter 'id' when calling TemplatesApi.get_template"
42
+ end
43
+ # resource path
44
+ local_var_path = '/v1/templates/{id}'.sub('{id}', CGI.escape(id.to_s))
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+
54
+ # form parameters
55
+ form_params = opts[:form_params] || {}
56
+
57
+ # http body (model)
58
+ post_body = opts[:debug_body]
59
+
60
+ # return_type
61
+ return_type = opts[:debug_return_type] || 'GetTemplate200Response'
62
+
63
+ # auth_names
64
+ auth_names = opts[:debug_auth_names] || []
65
+
66
+ new_options = opts.merge(
67
+ :operation => :"TemplatesApi.get_template",
68
+ :header_params => header_params,
69
+ :query_params => query_params,
70
+ :form_params => form_params,
71
+ :body => post_body,
72
+ :auth_names => auth_names,
73
+ :return_type => return_type
74
+ )
75
+
76
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: TemplatesApi#get_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+
83
+ # List all templates
84
+ # @param [Hash] opts the optional parameters
85
+ # @return [ListTemplates200Response]
86
+ def list_templates(opts = {})
87
+ data, _status_code, _headers = list_templates_with_http_info(opts)
88
+ data
89
+ end
90
+
91
+ # List all templates
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [Array<(ListTemplates200Response, Integer, Hash)>] ListTemplates200Response data, response status code and response headers
94
+ def list_templates_with_http_info(opts = {})
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug 'Calling API: TemplatesApi.list_templates ...'
97
+ end
98
+ # resource path
99
+ local_var_path = '/v1/templates'
100
+
101
+ # query parameters
102
+ query_params = opts[:query_params] || {}
103
+
104
+ # header parameters
105
+ header_params = opts[:header_params] || {}
106
+ # HTTP header 'Accept' (if needed)
107
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
108
+
109
+ # form parameters
110
+ form_params = opts[:form_params] || {}
111
+
112
+ # http body (model)
113
+ post_body = opts[:debug_body]
114
+
115
+ # return_type
116
+ return_type = opts[:debug_return_type] || 'ListTemplates200Response'
117
+
118
+ # auth_names
119
+ auth_names = opts[:debug_auth_names] || []
120
+
121
+ new_options = opts.merge(
122
+ :operation => :"TemplatesApi.list_templates",
123
+ :header_params => header_params,
124
+ :query_params => query_params,
125
+ :form_params => form_params,
126
+ :body => post_body,
127
+ :auth_names => auth_names,
128
+ :return_type => return_type
129
+ )
130
+
131
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
132
+ if @api_client.config.debugging
133
+ @api_client.config.logger.debug "API called: TemplatesApi#list_templates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
134
+ end
135
+ return data, status_code, headers
136
+ end
137
+
138
+ # Render a template with variables
139
+ # @param id [String]
140
+ # @param render_template_request [RenderTemplateRequest]
141
+ # @param [Hash] opts the optional parameters
142
+ # @option opts [String] :idempotency_key
143
+ # @return [QueueRender200Response]
144
+ def render_template(id, render_template_request, opts = {})
145
+ data, _status_code, _headers = render_template_with_http_info(id, render_template_request, opts)
146
+ data
147
+ end
148
+
149
+ # Render a template with variables
150
+ # @param id [String]
151
+ # @param render_template_request [RenderTemplateRequest]
152
+ # @param [Hash] opts the optional parameters
153
+ # @option opts [String] :idempotency_key
154
+ # @return [Array<(QueueRender200Response, Integer, Hash)>] QueueRender200Response data, response status code and response headers
155
+ def render_template_with_http_info(id, render_template_request, opts = {})
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug 'Calling API: TemplatesApi.render_template ...'
158
+ end
159
+ # verify the required parameter 'id' is set
160
+ if @api_client.config.client_side_validation && id.nil?
161
+ fail ArgumentError, "Missing the required parameter 'id' when calling TemplatesApi.render_template"
162
+ end
163
+ # verify the required parameter 'render_template_request' is set
164
+ if @api_client.config.client_side_validation && render_template_request.nil?
165
+ fail ArgumentError, "Missing the required parameter 'render_template_request' when calling TemplatesApi.render_template"
166
+ end
167
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 128
168
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling TemplatesApi.render_template, the character length must be smaller than or equal to 128.'
169
+ end
170
+
171
+ # resource path
172
+ local_var_path = '/v1/templates/{id}/render'.sub('{id}', CGI.escape(id.to_s))
173
+
174
+ # query parameters
175
+ query_params = opts[:query_params] || {}
176
+
177
+ # header parameters
178
+ header_params = opts[:header_params] || {}
179
+ # HTTP header 'Accept' (if needed)
180
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
181
+ # HTTP header 'Content-Type'
182
+ content_type = @api_client.select_header_content_type(['application/json'])
183
+ if !content_type.nil?
184
+ header_params['Content-Type'] = content_type
185
+ end
186
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
187
+
188
+ # form parameters
189
+ form_params = opts[:form_params] || {}
190
+
191
+ # http body (model)
192
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(render_template_request)
193
+
194
+ # return_type
195
+ return_type = opts[:debug_return_type] || 'QueueRender200Response'
196
+
197
+ # auth_names
198
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth', 'BearerAuth']
199
+
200
+ new_options = opts.merge(
201
+ :operation => :"TemplatesApi.render_template",
202
+ :header_params => header_params,
203
+ :query_params => query_params,
204
+ :form_params => form_params,
205
+ :body => post_body,
206
+ :auth_names => auth_names,
207
+ :return_type => return_type
208
+ )
209
+
210
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
211
+ if @api_client.config.debugging
212
+ @api_client.config.logger.debug "API called: TemplatesApi#render_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
213
+ end
214
+ return data, status_code, headers
215
+ end
216
+ end
217
+ end