zou 0.20.83__py3-none-any.whl → 0.20.84__py3-none-any.whl
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.
- zou/__init__.py +1 -1
- zou/app/blueprints/comments/resources.py +32 -35
- zou/app/blueprints/concepts/resources.py +23 -8
- zou/app/blueprints/crud/asset_instance.py +272 -0
- zou/app/blueprints/crud/attachment_file.py +263 -0
- zou/app/blueprints/crud/base.py +176 -69
- zou/app/blueprints/crud/budget.py +278 -0
- zou/app/blueprints/crud/budget_entry.py +269 -0
- zou/app/blueprints/crud/chat.py +282 -0
- zou/app/blueprints/crud/chat_message.py +286 -0
- zou/app/blueprints/crud/comments.py +312 -1
- zou/app/blueprints/crud/custom_action.py +268 -0
- zou/app/blueprints/crud/day_off.py +298 -0
- zou/app/blueprints/crud/department.py +268 -0
- zou/app/blueprints/crud/entity.py +297 -3
- zou/app/blueprints/crud/entity_link.py +303 -0
- zou/app/blueprints/crud/entity_type.py +269 -0
- zou/app/blueprints/crud/event.py +197 -0
- zou/app/blueprints/crud/file_status.py +268 -0
- zou/app/blueprints/crud/hardware_item.py +268 -0
- zou/app/blueprints/crud/metadata_descriptor.py +312 -0
- zou/app/blueprints/crud/milestone.py +302 -1
- zou/app/blueprints/crud/news.py +285 -0
- zou/app/blueprints/crud/notification.py +287 -0
- zou/app/blueprints/crud/organisation.py +269 -0
- zou/app/blueprints/crud/output_file.py +34 -10
- zou/app/blueprints/crud/output_type.py +30 -10
- zou/app/blueprints/crud/person.py +407 -2
- zou/app/blueprints/crud/playlist.py +322 -4
- zou/app/blueprints/crud/plugin.py +269 -0
- zou/app/blueprints/crud/preview_background_file.py +272 -0
- zou/app/blueprints/crud/preview_file.py +280 -9
- zou/app/blueprints/crud/production_schedule_version.py +569 -0
- zou/app/blueprints/crud/project.py +440 -0
- zou/app/blueprints/crud/project_status.py +268 -0
- zou/app/blueprints/crud/salary_scale.py +185 -5
- zou/app/blueprints/crud/schedule_item.py +305 -0
- zou/app/blueprints/crud/search_filter.py +302 -0
- zou/app/blueprints/crud/search_filter_group.py +270 -0
- zou/app/blueprints/crud/software.py +30 -10
- zou/app/blueprints/crud/status_automation.py +296 -2
- zou/app/blueprints/crud/studio.py +268 -0
- zou/app/blueprints/crud/subscription.py +279 -0
- zou/app/blueprints/crud/task.py +325 -5
- zou/app/blueprints/crud/task_status.py +301 -0
- zou/app/blueprints/crud/task_type.py +283 -0
- zou/app/blueprints/crud/time_spent.py +327 -0
- zou/app/blueprints/crud/working_file.py +273 -10
- zou/app/blueprints/export/csv/assets.py +15 -5
- zou/app/blueprints/export/csv/base.py +12 -3
- zou/app/blueprints/export/csv/casting.py +32 -5
- zou/app/blueprints/export/csv/edits.py +15 -5
- zou/app/blueprints/export/csv/persons.py +24 -0
- zou/app/blueprints/export/csv/playlists.py +16 -5
- zou/app/blueprints/export/csv/projects.py +23 -0
- zou/app/blueprints/export/csv/shots.py +15 -5
- zou/app/blueprints/export/csv/task_types.py +23 -0
- zou/app/blueprints/export/csv/tasks.py +24 -0
- zou/app/blueprints/export/csv/time_spents.py +24 -0
- zou/app/blueprints/files/resources.py +928 -377
- zou/app/blueprints/news/resources.py +7 -5
- zou/app/blueprints/persons/resources.py +644 -271
- zou/app/blueprints/playlists/resources.py +154 -72
- zou/app/blueprints/previews/resources.py +473 -228
- zou/app/blueprints/projects/__init__.py +5 -0
- zou/app/blueprints/projects/resources.py +987 -420
- zou/app/blueprints/search/resources.py +44 -32
- zou/app/blueprints/shots/resources.py +1338 -88
- zou/app/blueprints/source/csv/assets.py +44 -6
- zou/app/blueprints/source/csv/casting.py +43 -6
- zou/app/blueprints/source/csv/edits.py +47 -9
- zou/app/blueprints/source/csv/persons.py +43 -4
- zou/app/blueprints/source/csv/shots.py +47 -6
- zou/app/blueprints/source/csv/task_type_estimations.py +95 -35
- zou/app/blueprints/source/kitsu.py +433 -11
- zou/app/blueprints/source/otio.py +215 -20
- zou/app/blueprints/source/shotgun/assets.py +146 -0
- zou/app/blueprints/source/shotgun/base.py +85 -14
- zou/app/blueprints/source/shotgun/episode.py +124 -0
- zou/app/blueprints/source/shotgun/import_errors.py +105 -14
- zou/app/blueprints/source/shotgun/notes.py +132 -0
- zou/app/blueprints/source/shotgun/person.py +163 -0
- zou/app/blueprints/source/shotgun/project.py +120 -0
- zou/app/blueprints/source/shotgun/scene.py +120 -0
- zou/app/blueprints/source/shotgun/sequence.py +134 -0
- zou/app/blueprints/source/shotgun/shot.py +166 -0
- zou/app/blueprints/source/shotgun/status.py +129 -0
- zou/app/blueprints/source/shotgun/steps.py +138 -0
- zou/app/blueprints/source/shotgun/tasks.py +199 -0
- zou/app/blueprints/source/shotgun/team.py +132 -0
- zou/app/blueprints/source/shotgun/versions.py +155 -0
- zou/app/blueprints/tasks/resources.py +1197 -308
- zou/app/models/metadata_descriptor.py +1 -0
- zou/app/services/persons_service.py +1 -1
- zou/app/services/projects_service.py +45 -1
- zou/app/services/time_spents_service.py +1 -1
- zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py +32 -0
- {zou-0.20.83.dist-info → zou-0.20.84.dist-info}/METADATA +18 -18
- {zou-0.20.83.dist-info → zou-0.20.84.dist-info}/RECORD +103 -102
- {zou-0.20.83.dist-info → zou-0.20.84.dist-info}/WHEEL +0 -0
- {zou-0.20.83.dist-info → zou-0.20.84.dist-info}/entry_points.txt +0 -0
- {zou-0.20.83.dist-info → zou-0.20.84.dist-info}/licenses/LICENSE +0 -0
- {zou-0.20.83.dist-info → zou-0.20.84.dist-info}/top_level.txt +0 -0
|
@@ -85,9 +85,6 @@ def send_storage_file(
|
|
|
85
85
|
|
|
86
86
|
|
|
87
87
|
class WorkingFileFileResource(Resource):
|
|
88
|
-
"""
|
|
89
|
-
Allow to download and store a working file.
|
|
90
|
-
"""
|
|
91
88
|
|
|
92
89
|
def check_access(self, working_file_id):
|
|
93
90
|
working_file = files_service.get_working_file(working_file_id)
|
|
@@ -105,10 +102,12 @@ class WorkingFileFileResource(Resource):
|
|
|
105
102
|
@jwt_required()
|
|
106
103
|
def get(self, working_file_id):
|
|
107
104
|
"""
|
|
108
|
-
Download
|
|
105
|
+
Download working file
|
|
109
106
|
---
|
|
107
|
+
description: Download a working file from storage. Returns the file
|
|
108
|
+
content with appropriate headers for caching and attachment.
|
|
110
109
|
tags:
|
|
111
|
-
|
|
110
|
+
- Files
|
|
112
111
|
parameters:
|
|
113
112
|
- in: path
|
|
114
113
|
name: working_file_id
|
|
@@ -116,29 +115,36 @@ class WorkingFileFileResource(Resource):
|
|
|
116
115
|
schema:
|
|
117
116
|
type: string
|
|
118
117
|
format: uuid
|
|
118
|
+
description: Working file unique identifier
|
|
119
119
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
120
120
|
responses:
|
|
121
|
-
|
|
122
|
-
description: Working file downloaded
|
|
121
|
+
200:
|
|
122
|
+
description: Working file downloaded successfully
|
|
123
123
|
content:
|
|
124
124
|
image/png:
|
|
125
125
|
schema:
|
|
126
126
|
type: string
|
|
127
127
|
format: binary
|
|
128
|
+
description: PNG image file
|
|
129
|
+
example: "binary data"
|
|
128
130
|
image/jpg:
|
|
129
131
|
schema:
|
|
130
132
|
type: string
|
|
131
133
|
format: binary
|
|
134
|
+
description: JPEG image file
|
|
135
|
+
example: "binary data"
|
|
132
136
|
image/gif:
|
|
133
137
|
schema:
|
|
134
138
|
type: string
|
|
135
139
|
format: binary
|
|
140
|
+
description: GIF image file
|
|
141
|
+
example: "binary data"
|
|
136
142
|
application/octet-stream:
|
|
137
143
|
schema:
|
|
138
144
|
type: string
|
|
139
145
|
format: binary
|
|
140
|
-
|
|
141
|
-
|
|
146
|
+
description: Binary file content
|
|
147
|
+
example: "binary data"
|
|
142
148
|
"""
|
|
143
149
|
working_file = self.check_access(working_file_id)
|
|
144
150
|
return send_storage_file(
|
|
@@ -151,10 +157,12 @@ class WorkingFileFileResource(Resource):
|
|
|
151
157
|
@jwt_required()
|
|
152
158
|
def post(self, working_file_id):
|
|
153
159
|
"""
|
|
154
|
-
Store
|
|
160
|
+
Store working file
|
|
155
161
|
---
|
|
162
|
+
description: Store a working file in the file storage system. Uploads
|
|
163
|
+
the file content and associates it with the working file record.
|
|
156
164
|
tags:
|
|
157
|
-
|
|
165
|
+
- Files
|
|
158
166
|
parameters:
|
|
159
167
|
- in: path
|
|
160
168
|
name: working_file_id
|
|
@@ -162,6 +170,7 @@ class WorkingFileFileResource(Resource):
|
|
|
162
170
|
schema:
|
|
163
171
|
type: string
|
|
164
172
|
format: uuid
|
|
173
|
+
description: Working file unique identifier
|
|
165
174
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
166
175
|
requestBody:
|
|
167
176
|
required: true
|
|
@@ -176,21 +185,47 @@ class WorkingFileFileResource(Resource):
|
|
|
176
185
|
type: string
|
|
177
186
|
format: binary
|
|
178
187
|
description: Working file to upload
|
|
188
|
+
example: "file content"
|
|
179
189
|
responses:
|
|
180
|
-
|
|
181
|
-
description: Working file stored
|
|
190
|
+
201:
|
|
191
|
+
description: Working file stored successfully
|
|
182
192
|
content:
|
|
183
193
|
application/json:
|
|
184
194
|
schema:
|
|
185
195
|
type: object
|
|
186
196
|
properties:
|
|
187
|
-
|
|
188
|
-
type:
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
197
|
+
id:
|
|
198
|
+
type: string
|
|
199
|
+
format: uuid
|
|
200
|
+
description: Working file unique identifier
|
|
201
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
202
|
+
name:
|
|
203
|
+
type: string
|
|
204
|
+
description: Working file name
|
|
205
|
+
example: "main"
|
|
206
|
+
path:
|
|
207
|
+
type: string
|
|
208
|
+
description: Working file path
|
|
209
|
+
example: "/project/asset/working/main_v001.blend"
|
|
210
|
+
revision:
|
|
211
|
+
type: integer
|
|
212
|
+
description: Working file revision
|
|
213
|
+
example: 1
|
|
214
|
+
task_id:
|
|
215
|
+
type: string
|
|
216
|
+
format: uuid
|
|
217
|
+
description: Task identifier
|
|
218
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
219
|
+
created_at:
|
|
220
|
+
type: string
|
|
221
|
+
format: date-time
|
|
222
|
+
description: Creation timestamp
|
|
223
|
+
example: "2023-01-01T12:00:00Z"
|
|
224
|
+
updated_at:
|
|
225
|
+
type: string
|
|
226
|
+
format: date-time
|
|
227
|
+
description: Last update timestamp
|
|
228
|
+
example: "2023-01-01T12:30:00Z"
|
|
194
229
|
"""
|
|
195
230
|
working_file = self.check_access(working_file_id)
|
|
196
231
|
file_path = self.save_uploaded_file_in_temporary_folder(
|
|
@@ -206,12 +241,13 @@ class WorkingFilePathResource(Resource, ArgsMixin):
|
|
|
206
241
|
@jwt_required()
|
|
207
242
|
def post(self, task_id):
|
|
208
243
|
"""
|
|
209
|
-
Generate
|
|
244
|
+
Generate working file path
|
|
210
245
|
---
|
|
246
|
+
description: Generate a working file path from file tree template based
|
|
247
|
+
on task parameters. Revision can be computed automatically if not
|
|
248
|
+
provided.
|
|
211
249
|
tags:
|
|
212
|
-
|
|
213
|
-
description: Generate file path based on several parameters
|
|
214
|
-
Revision can be computed automatically as next revision if not given.
|
|
250
|
+
- Files
|
|
215
251
|
parameters:
|
|
216
252
|
- in: path
|
|
217
253
|
name: task_id
|
|
@@ -219,6 +255,7 @@ class WorkingFilePathResource(Resource, ArgsMixin):
|
|
|
219
255
|
schema:
|
|
220
256
|
type: string
|
|
221
257
|
format: uuid
|
|
258
|
+
description: Task unique identifier
|
|
222
259
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
223
260
|
requestBody:
|
|
224
261
|
required: true
|
|
@@ -229,29 +266,35 @@ class WorkingFilePathResource(Resource, ArgsMixin):
|
|
|
229
266
|
properties:
|
|
230
267
|
name:
|
|
231
268
|
type: string
|
|
269
|
+
description: File name
|
|
232
270
|
default: main
|
|
233
|
-
example: main
|
|
271
|
+
example: "main"
|
|
234
272
|
mode:
|
|
235
273
|
type: string
|
|
274
|
+
description: File mode
|
|
236
275
|
default: working
|
|
237
|
-
example: working
|
|
276
|
+
example: "working"
|
|
238
277
|
software_id:
|
|
239
278
|
type: string
|
|
240
279
|
format: uuid
|
|
280
|
+
description: Software identifier
|
|
241
281
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
242
282
|
comment:
|
|
243
283
|
type: string
|
|
284
|
+
description: File comment
|
|
244
285
|
example: "Updated lighting"
|
|
245
286
|
revision:
|
|
246
287
|
type: integer
|
|
288
|
+
description: File revision number
|
|
247
289
|
example: 1
|
|
248
290
|
separator:
|
|
249
291
|
type: string
|
|
292
|
+
description: Path separator
|
|
250
293
|
default: /
|
|
251
|
-
example: /
|
|
294
|
+
example: "/"
|
|
252
295
|
responses:
|
|
253
|
-
|
|
254
|
-
description: Working file path generated
|
|
296
|
+
200:
|
|
297
|
+
description: Working file path generated successfully
|
|
255
298
|
content:
|
|
256
299
|
application/json:
|
|
257
300
|
schema:
|
|
@@ -259,8 +302,13 @@ class WorkingFilePathResource(Resource, ArgsMixin):
|
|
|
259
302
|
properties:
|
|
260
303
|
path:
|
|
261
304
|
type: string
|
|
305
|
+
description: Generated file path
|
|
262
306
|
example: "/project/asset/working/main_v001.blend"
|
|
263
|
-
|
|
307
|
+
name:
|
|
308
|
+
type: string
|
|
309
|
+
description: Generated file name
|
|
310
|
+
example: "main_v001.blend"
|
|
311
|
+
400:
|
|
264
312
|
description: Malformed file tree
|
|
265
313
|
"""
|
|
266
314
|
(
|
|
@@ -337,12 +385,13 @@ class EntityOutputFilePathResource(Resource, ArgsMixin):
|
|
|
337
385
|
@jwt_required()
|
|
338
386
|
def post(self, entity_id):
|
|
339
387
|
"""
|
|
340
|
-
Generate
|
|
388
|
+
Generate entity output file path
|
|
341
389
|
---
|
|
390
|
+
description: Generate an output file path from file tree template
|
|
391
|
+
based on entity parameters. Revision can be computed automatically
|
|
392
|
+
if not provided.
|
|
342
393
|
tags:
|
|
343
|
-
|
|
344
|
-
description: Generate file path based on several parameters entity, output type, task type, revision, mode, name and separator.
|
|
345
|
-
Revision can be computed automatically as next revision if not given.
|
|
394
|
+
- Files
|
|
346
395
|
parameters:
|
|
347
396
|
- in: path
|
|
348
397
|
name: entity_id
|
|
@@ -350,6 +399,7 @@ class EntityOutputFilePathResource(Resource, ArgsMixin):
|
|
|
350
399
|
schema:
|
|
351
400
|
type: string
|
|
352
401
|
format: uuid
|
|
402
|
+
description: Entity unique identifier
|
|
353
403
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
354
404
|
requestBody:
|
|
355
405
|
required: true
|
|
@@ -363,45 +413,58 @@ class EntityOutputFilePathResource(Resource, ArgsMixin):
|
|
|
363
413
|
properties:
|
|
364
414
|
name:
|
|
365
415
|
type: string
|
|
416
|
+
description: File name
|
|
366
417
|
default: main
|
|
367
|
-
example: main
|
|
418
|
+
example: "main"
|
|
368
419
|
mode:
|
|
369
420
|
type: string
|
|
421
|
+
description: File mode
|
|
370
422
|
default: output
|
|
371
|
-
example: output
|
|
423
|
+
example: "output"
|
|
372
424
|
output_type_id:
|
|
373
425
|
type: string
|
|
374
426
|
format: uuid
|
|
427
|
+
description: Output type identifier
|
|
375
428
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
376
429
|
task_type_id:
|
|
377
430
|
type: string
|
|
378
431
|
format: uuid
|
|
432
|
+
description: Task type identifier
|
|
379
433
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
380
434
|
extension:
|
|
381
435
|
type: string
|
|
436
|
+
description: File extension
|
|
382
437
|
example: ".mp4"
|
|
383
438
|
representation:
|
|
384
439
|
type: string
|
|
440
|
+
description: File representation
|
|
385
441
|
example: "mp4"
|
|
386
442
|
revision:
|
|
387
443
|
type: integer
|
|
444
|
+
description: File revision number
|
|
388
445
|
example: 1
|
|
389
446
|
separator:
|
|
390
447
|
type: string
|
|
448
|
+
description: Path separator
|
|
391
449
|
default: /
|
|
392
|
-
example: /
|
|
450
|
+
example: "/"
|
|
393
451
|
responses:
|
|
394
|
-
|
|
395
|
-
description: Output file path generated
|
|
452
|
+
200:
|
|
453
|
+
description: Output file path generated successfully
|
|
396
454
|
content:
|
|
397
455
|
application/json:
|
|
398
456
|
schema:
|
|
399
457
|
type: object
|
|
400
458
|
properties:
|
|
401
|
-
|
|
459
|
+
folder_path:
|
|
402
460
|
type: string
|
|
403
|
-
|
|
404
|
-
|
|
461
|
+
description: Generated folder path
|
|
462
|
+
example: "/project/asset/output"
|
|
463
|
+
file_name:
|
|
464
|
+
type: string
|
|
465
|
+
description: Generated file name
|
|
466
|
+
example: "main_v001.mp4"
|
|
467
|
+
400:
|
|
405
468
|
description: Malformed file tree
|
|
406
469
|
"""
|
|
407
470
|
args = self.get_arguments()
|
|
@@ -467,62 +530,93 @@ class InstanceOutputFilePathResource(Resource, ArgsMixin):
|
|
|
467
530
|
@jwt_required()
|
|
468
531
|
def post(self, asset_instance_id, temporal_entity_id):
|
|
469
532
|
"""
|
|
470
|
-
Generate
|
|
533
|
+
Generate instance output file path
|
|
471
534
|
---
|
|
535
|
+
description: Generate an output file path from file tree template
|
|
536
|
+
based on asset instance parameters. Revision can be computed
|
|
537
|
+
automatically if not provided.
|
|
472
538
|
tags:
|
|
473
539
|
- Files
|
|
474
|
-
description: "Generate file path based on several parameters asset instance, output type, task type, revision, mode, name and separator.
|
|
475
|
-
Revision can be computed automatically as next revision in case no revision is given in parameter."
|
|
476
540
|
parameters:
|
|
477
541
|
- in: path
|
|
478
542
|
name: asset_instance_id
|
|
479
543
|
required: true
|
|
480
|
-
|
|
481
|
-
|
|
544
|
+
schema:
|
|
545
|
+
type: string
|
|
546
|
+
format: uuid
|
|
547
|
+
description: Asset instance unique identifier
|
|
482
548
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
483
549
|
- in: path
|
|
484
550
|
name: temporal_entity_id
|
|
485
551
|
required: true
|
|
486
|
-
type: string
|
|
487
|
-
format: uuid
|
|
488
|
-
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
489
|
-
- in: body
|
|
490
|
-
name: File
|
|
491
|
-
description: Asset instance, output type, task type, revision, mode, name and separator.
|
|
492
552
|
schema:
|
|
553
|
+
type: string
|
|
554
|
+
format: uuid
|
|
555
|
+
description: Temporal entity unique identifier
|
|
556
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
557
|
+
requestBody:
|
|
558
|
+
required: true
|
|
559
|
+
content:
|
|
560
|
+
application/json:
|
|
561
|
+
schema:
|
|
493
562
|
type: object
|
|
494
563
|
required:
|
|
495
564
|
- output_type_id
|
|
496
565
|
- task_type_id
|
|
497
566
|
properties:
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
567
|
+
name:
|
|
568
|
+
type: string
|
|
569
|
+
description: File name
|
|
570
|
+
default: main
|
|
571
|
+
example: "main"
|
|
572
|
+
mode:
|
|
573
|
+
type: string
|
|
574
|
+
description: File mode
|
|
575
|
+
default: output
|
|
576
|
+
example: "output"
|
|
577
|
+
output_type_id:
|
|
578
|
+
type: string
|
|
579
|
+
format: uuid
|
|
580
|
+
description: Output type identifier
|
|
581
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
582
|
+
task_type_id:
|
|
583
|
+
type: string
|
|
584
|
+
format: uuid
|
|
585
|
+
description: Task type identifier
|
|
586
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
587
|
+
extension:
|
|
588
|
+
type: string
|
|
589
|
+
description: File extension
|
|
590
|
+
example: ".mp4"
|
|
591
|
+
representation:
|
|
592
|
+
type: string
|
|
593
|
+
description: File representation
|
|
594
|
+
example: "mp4"
|
|
595
|
+
revision:
|
|
596
|
+
type: integer
|
|
597
|
+
description: File revision number
|
|
598
|
+
example: 1
|
|
599
|
+
separator:
|
|
600
|
+
type: string
|
|
601
|
+
description: Path separator
|
|
602
|
+
default: /
|
|
603
|
+
example: "/"
|
|
521
604
|
responses:
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
605
|
+
200:
|
|
606
|
+
description: Output file path generated successfully
|
|
607
|
+
content:
|
|
608
|
+
application/json:
|
|
609
|
+
schema:
|
|
610
|
+
type: object
|
|
611
|
+
properties:
|
|
612
|
+
folder_path:
|
|
613
|
+
type: string
|
|
614
|
+
description: Generated folder path
|
|
615
|
+
example: "/project/asset/instance/output"
|
|
616
|
+
file_name:
|
|
617
|
+
type: string
|
|
618
|
+
description: Generated file name
|
|
619
|
+
example: "main_v001.mp4"
|
|
526
620
|
"""
|
|
527
621
|
args = self.get_arguments()
|
|
528
622
|
|
|
@@ -581,17 +675,17 @@ class InstanceOutputFilePathResource(Resource, ArgsMixin):
|
|
|
581
675
|
|
|
582
676
|
|
|
583
677
|
class LastWorkingFilesResource(Resource):
|
|
584
|
-
"""
|
|
585
|
-
Return last working files revision for each file name for given task.
|
|
586
|
-
"""
|
|
587
678
|
|
|
588
679
|
@jwt_required()
|
|
589
680
|
def get(self, task_id):
|
|
590
681
|
"""
|
|
591
|
-
|
|
682
|
+
Get last working files
|
|
592
683
|
---
|
|
684
|
+
description: Retrieve the last working file revisions for each file
|
|
685
|
+
name for a given task. Returns the most recent version of each
|
|
686
|
+
working file.
|
|
593
687
|
tags:
|
|
594
|
-
|
|
688
|
+
- Files
|
|
595
689
|
parameters:
|
|
596
690
|
- in: path
|
|
597
691
|
name: task_id
|
|
@@ -599,10 +693,11 @@ class LastWorkingFilesResource(Resource):
|
|
|
599
693
|
schema:
|
|
600
694
|
type: string
|
|
601
695
|
format: uuid
|
|
696
|
+
description: Task unique identifier
|
|
602
697
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
603
698
|
responses:
|
|
604
|
-
|
|
605
|
-
description: Last working
|
|
699
|
+
200:
|
|
700
|
+
description: Last working file revisions for each file name
|
|
606
701
|
content:
|
|
607
702
|
application/json:
|
|
608
703
|
schema:
|
|
@@ -613,15 +708,21 @@ class LastWorkingFilesResource(Resource):
|
|
|
613
708
|
id:
|
|
614
709
|
type: string
|
|
615
710
|
format: uuid
|
|
711
|
+
description: Working file unique identifier
|
|
712
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
616
713
|
name:
|
|
617
714
|
type: string
|
|
715
|
+
description: Working file name
|
|
716
|
+
example: "main"
|
|
618
717
|
revision:
|
|
619
718
|
type: integer
|
|
719
|
+
description: Working file revision
|
|
720
|
+
example: 3
|
|
620
721
|
updated_at:
|
|
621
722
|
type: string
|
|
622
723
|
format: date-time
|
|
623
|
-
|
|
624
|
-
|
|
724
|
+
description: Last update timestamp
|
|
725
|
+
example: "2023-01-01T12:00:00Z"
|
|
625
726
|
"""
|
|
626
727
|
result = {}
|
|
627
728
|
user_service.check_task_access(task_id)
|
|
@@ -631,17 +732,16 @@ class LastWorkingFilesResource(Resource):
|
|
|
631
732
|
|
|
632
733
|
|
|
633
734
|
class TaskWorkingFilesResource(Resource):
|
|
634
|
-
"""
|
|
635
|
-
Return all working file revisions for a given task.
|
|
636
|
-
"""
|
|
637
735
|
|
|
638
736
|
@jwt_required()
|
|
639
737
|
def get(self, task_id):
|
|
640
738
|
"""
|
|
641
|
-
|
|
739
|
+
Get task working files
|
|
642
740
|
---
|
|
741
|
+
description: Retrieve all working file revisions for a given task.
|
|
742
|
+
Returns complete list of working files with their revisions.
|
|
643
743
|
tags:
|
|
644
|
-
|
|
744
|
+
- Files
|
|
645
745
|
parameters:
|
|
646
746
|
- in: path
|
|
647
747
|
name: task_id
|
|
@@ -649,9 +749,10 @@ class TaskWorkingFilesResource(Resource):
|
|
|
649
749
|
schema:
|
|
650
750
|
type: string
|
|
651
751
|
format: uuid
|
|
752
|
+
description: Task unique identifier
|
|
652
753
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
653
754
|
responses:
|
|
654
|
-
|
|
755
|
+
200:
|
|
655
756
|
description: All working file revisions for given task
|
|
656
757
|
content:
|
|
657
758
|
application/json:
|
|
@@ -663,18 +764,26 @@ class TaskWorkingFilesResource(Resource):
|
|
|
663
764
|
id:
|
|
664
765
|
type: string
|
|
665
766
|
format: uuid
|
|
767
|
+
description: Working file unique identifier
|
|
768
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
666
769
|
name:
|
|
667
770
|
type: string
|
|
771
|
+
description: Working file name
|
|
772
|
+
example: "main"
|
|
668
773
|
revision:
|
|
669
774
|
type: integer
|
|
775
|
+
description: Working file revision
|
|
776
|
+
example: 1
|
|
670
777
|
updated_at:
|
|
671
778
|
type: string
|
|
672
779
|
format: date-time
|
|
780
|
+
description: Last update timestamp
|
|
781
|
+
example: "2023-01-01T12:00:00Z"
|
|
673
782
|
task_id:
|
|
674
783
|
type: string
|
|
675
784
|
format: uuid
|
|
676
|
-
|
|
677
|
-
|
|
785
|
+
description: Task identifier
|
|
786
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
678
787
|
"""
|
|
679
788
|
result = {}
|
|
680
789
|
user_service.check_task_access(task_id)
|
|
@@ -684,24 +793,18 @@ class TaskWorkingFilesResource(Resource):
|
|
|
684
793
|
|
|
685
794
|
|
|
686
795
|
class NewWorkingFileResource(Resource, ArgsMixin):
|
|
687
|
-
"""
|
|
688
|
-
A working file is a file used to produce output files.
|
|
689
|
-
It is the file the CG artist is working on.
|
|
690
|
-
It is versioned, tied to a task and a software and requires a comment each time it is created.
|
|
691
|
-
A path is generated for each file created. The path format is defined in the file tree template file.
|
|
692
|
-
"""
|
|
693
796
|
|
|
694
797
|
@jwt_required()
|
|
695
798
|
def post(self, task_id):
|
|
696
799
|
"""
|
|
697
|
-
Create new working file
|
|
800
|
+
Create new working file
|
|
698
801
|
---
|
|
802
|
+
description: Create a new working file for a task. Working files are
|
|
803
|
+
versioned files used by artists to produce output files. Each
|
|
804
|
+
file requires a comment and generates a path based on file tree
|
|
805
|
+
template.
|
|
699
806
|
tags:
|
|
700
|
-
|
|
701
|
-
description: A working file is a file used to produce output files.
|
|
702
|
-
It is the file the CG artist is working on.
|
|
703
|
-
It is versioned, tied to a task and a software and requires a comment each time it is created.
|
|
704
|
-
A path is generated for each file created. The path format is defined in the file tree template file.
|
|
807
|
+
- Files
|
|
705
808
|
parameters:
|
|
706
809
|
- in: path
|
|
707
810
|
name: task_id
|
|
@@ -709,6 +812,7 @@ class NewWorkingFileResource(Resource, ArgsMixin):
|
|
|
709
812
|
schema:
|
|
710
813
|
type: string
|
|
711
814
|
format: uuid
|
|
815
|
+
description: Task unique identifier
|
|
712
816
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
713
817
|
requestBody:
|
|
714
818
|
required: true
|
|
@@ -721,35 +825,43 @@ class NewWorkingFileResource(Resource, ArgsMixin):
|
|
|
721
825
|
properties:
|
|
722
826
|
name:
|
|
723
827
|
type: string
|
|
828
|
+
description: Working file name
|
|
724
829
|
example: "main"
|
|
725
830
|
mode:
|
|
726
831
|
type: string
|
|
832
|
+
description: Working file mode
|
|
727
833
|
default: working
|
|
728
|
-
example: working
|
|
834
|
+
example: "working"
|
|
729
835
|
description:
|
|
730
836
|
type: string
|
|
837
|
+
description: Working file description
|
|
731
838
|
example: "Main character model"
|
|
732
839
|
comment:
|
|
733
840
|
type: string
|
|
841
|
+
description: Working file comment
|
|
734
842
|
example: "Updated lighting and materials"
|
|
735
843
|
person_id:
|
|
736
844
|
type: string
|
|
737
845
|
format: uuid
|
|
846
|
+
description: Person identifier
|
|
738
847
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
739
848
|
software_id:
|
|
740
849
|
type: string
|
|
741
850
|
format: uuid
|
|
851
|
+
description: Software identifier
|
|
742
852
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
743
853
|
revision:
|
|
744
854
|
type: integer
|
|
855
|
+
description: Working file revision
|
|
745
856
|
example: 1
|
|
746
857
|
sep:
|
|
747
858
|
type: string
|
|
859
|
+
description: Path separator
|
|
748
860
|
default: /
|
|
749
|
-
example: /
|
|
861
|
+
example: "/"
|
|
750
862
|
responses:
|
|
751
|
-
|
|
752
|
-
description: New working file created
|
|
863
|
+
201:
|
|
864
|
+
description: New working file created successfully
|
|
753
865
|
content:
|
|
754
866
|
application/json:
|
|
755
867
|
schema:
|
|
@@ -758,17 +870,35 @@ class NewWorkingFileResource(Resource, ArgsMixin):
|
|
|
758
870
|
id:
|
|
759
871
|
type: string
|
|
760
872
|
format: uuid
|
|
873
|
+
description: Working file unique identifier
|
|
874
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
761
875
|
name:
|
|
762
876
|
type: string
|
|
877
|
+
description: Working file name
|
|
878
|
+
example: "main"
|
|
763
879
|
path:
|
|
764
880
|
type: string
|
|
881
|
+
description: Working file path
|
|
882
|
+
example: "/project/asset/working/main_v001.blend"
|
|
765
883
|
revision:
|
|
766
884
|
type: integer
|
|
885
|
+
description: Working file revision
|
|
886
|
+
example: 1
|
|
767
887
|
task_id:
|
|
768
888
|
type: string
|
|
769
889
|
format: uuid
|
|
770
|
-
|
|
771
|
-
|
|
890
|
+
description: Task identifier
|
|
891
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
892
|
+
created_at:
|
|
893
|
+
type: string
|
|
894
|
+
format: date-time
|
|
895
|
+
description: Creation timestamp
|
|
896
|
+
example: "2023-01-01T12:00:00Z"
|
|
897
|
+
updated_at:
|
|
898
|
+
type: string
|
|
899
|
+
format: date-time
|
|
900
|
+
description: Last update timestamp
|
|
901
|
+
example: "2023-01-01T12:30:00Z"
|
|
772
902
|
"""
|
|
773
903
|
(
|
|
774
904
|
name,
|
|
@@ -856,17 +986,16 @@ class NewWorkingFileResource(Resource, ArgsMixin):
|
|
|
856
986
|
|
|
857
987
|
|
|
858
988
|
class ModifiedFileResource(Resource):
|
|
859
|
-
"""
|
|
860
|
-
Update working file modification date with current date.
|
|
861
|
-
"""
|
|
862
989
|
|
|
863
990
|
@jwt_required()
|
|
864
991
|
def put(self, working_file_id):
|
|
865
992
|
"""
|
|
866
|
-
Update working file modification date
|
|
993
|
+
Update working file modification date
|
|
867
994
|
---
|
|
995
|
+
description: Update the modification date of a working file to the
|
|
996
|
+
current timestamp. Used to track when the file was last modified.
|
|
868
997
|
tags:
|
|
869
|
-
|
|
998
|
+
- Files
|
|
870
999
|
parameters:
|
|
871
1000
|
- in: path
|
|
872
1001
|
name: working_file_id
|
|
@@ -874,10 +1003,11 @@ class ModifiedFileResource(Resource):
|
|
|
874
1003
|
schema:
|
|
875
1004
|
type: string
|
|
876
1005
|
format: uuid
|
|
1006
|
+
description: Working file unique identifier
|
|
877
1007
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
878
1008
|
responses:
|
|
879
|
-
|
|
880
|
-
description: Working file modification date updated
|
|
1009
|
+
200:
|
|
1010
|
+
description: Working file modification date updated successfully
|
|
881
1011
|
content:
|
|
882
1012
|
application/json:
|
|
883
1013
|
schema:
|
|
@@ -886,11 +1016,13 @@ class ModifiedFileResource(Resource):
|
|
|
886
1016
|
id:
|
|
887
1017
|
type: string
|
|
888
1018
|
format: uuid
|
|
1019
|
+
description: Working file unique identifier
|
|
1020
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
889
1021
|
updated_at:
|
|
890
1022
|
type: string
|
|
891
1023
|
format: date-time
|
|
892
|
-
|
|
893
|
-
|
|
1024
|
+
description: Updated modification timestamp
|
|
1025
|
+
example: "2023-01-01T12:30:00Z"
|
|
894
1026
|
"""
|
|
895
1027
|
working_file = files_service.get_working_file(working_file_id)
|
|
896
1028
|
user_service.check_task_action_access(working_file["task_id"])
|
|
@@ -902,17 +1034,16 @@ class ModifiedFileResource(Resource):
|
|
|
902
1034
|
|
|
903
1035
|
|
|
904
1036
|
class CommentWorkingFileResource(Resource, ArgsMixin):
|
|
905
|
-
"""
|
|
906
|
-
Update comment on given working file.
|
|
907
|
-
"""
|
|
908
1037
|
|
|
909
1038
|
@jwt_required()
|
|
910
1039
|
def put(self, working_file_id):
|
|
911
1040
|
"""
|
|
912
|
-
Update
|
|
1041
|
+
Update working file comment
|
|
913
1042
|
---
|
|
1043
|
+
description: Update the comment on a specific working file. Comments
|
|
1044
|
+
provide context about changes made to the working file.
|
|
914
1045
|
tags:
|
|
915
|
-
|
|
1046
|
+
- Files
|
|
916
1047
|
parameters:
|
|
917
1048
|
- in: path
|
|
918
1049
|
name: working_file_id
|
|
@@ -920,6 +1051,7 @@ class CommentWorkingFileResource(Resource, ArgsMixin):
|
|
|
920
1051
|
schema:
|
|
921
1052
|
type: string
|
|
922
1053
|
format: uuid
|
|
1054
|
+
description: Working file unique identifier
|
|
923
1055
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
924
1056
|
requestBody:
|
|
925
1057
|
required: true
|
|
@@ -932,10 +1064,11 @@ class CommentWorkingFileResource(Resource, ArgsMixin):
|
|
|
932
1064
|
properties:
|
|
933
1065
|
comment:
|
|
934
1066
|
type: string
|
|
1067
|
+
description: Working file comment
|
|
935
1068
|
example: "Updated lighting and materials"
|
|
936
1069
|
responses:
|
|
937
|
-
|
|
938
|
-
description:
|
|
1070
|
+
200:
|
|
1071
|
+
description: Working file comment updated successfully
|
|
939
1072
|
content:
|
|
940
1073
|
application/json:
|
|
941
1074
|
schema:
|
|
@@ -944,13 +1077,17 @@ class CommentWorkingFileResource(Resource, ArgsMixin):
|
|
|
944
1077
|
id:
|
|
945
1078
|
type: string
|
|
946
1079
|
format: uuid
|
|
1080
|
+
description: Working file unique identifier
|
|
1081
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
947
1082
|
comment:
|
|
948
1083
|
type: string
|
|
1084
|
+
description: Updated comment
|
|
1085
|
+
example: "Updated lighting and materials"
|
|
949
1086
|
updated_at:
|
|
950
1087
|
type: string
|
|
951
1088
|
format: date-time
|
|
952
|
-
|
|
953
|
-
|
|
1089
|
+
description: Last update timestamp
|
|
1090
|
+
example: "2023-01-01T12:30:00Z"
|
|
954
1091
|
"""
|
|
955
1092
|
args = self.get_args(
|
|
956
1093
|
[
|
|
@@ -979,17 +1116,17 @@ class NewEntityOutputFileResource(Resource, ArgsMixin):
|
|
|
979
1116
|
@jwt_required()
|
|
980
1117
|
def post(self, entity_id):
|
|
981
1118
|
"""
|
|
982
|
-
Create new output file
|
|
1119
|
+
Create new entity output file
|
|
983
1120
|
---
|
|
1121
|
+
description: Create a new output file linked to a specific entity.
|
|
1122
|
+
Output files are created when artists are satisfied with their
|
|
1123
|
+
working files. They track the source working file and require
|
|
1124
|
+
output type and task type for categorization. An output type is
|
|
1125
|
+
required for better categorization (textures, caches, ...).
|
|
1126
|
+
A task type can be set too to give the department related to the
|
|
1127
|
+
output file. The revision is automatically set.
|
|
984
1128
|
tags:
|
|
985
|
-
|
|
986
|
-
description: Output files are linked to entities.
|
|
987
|
-
Each time a CG artist is satisfied by what he did on a working file,
|
|
988
|
-
he can create an output file that will be linked to a target entity (an asset, a shot, a sequence, ...).
|
|
989
|
-
It keeps track of the working file at the origin of the output file.
|
|
990
|
-
An output type is required for better categorization (textures, caches, ...).
|
|
991
|
-
A task type can be set too to give the department related to the output file.
|
|
992
|
-
Revision is automatically set.
|
|
1129
|
+
- Files
|
|
993
1130
|
parameters:
|
|
994
1131
|
- in: path
|
|
995
1132
|
name: entity_id
|
|
@@ -997,6 +1134,7 @@ class NewEntityOutputFileResource(Resource, ArgsMixin):
|
|
|
997
1134
|
schema:
|
|
998
1135
|
type: string
|
|
999
1136
|
format: uuid
|
|
1137
|
+
description: Entity unique identifier
|
|
1000
1138
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1001
1139
|
requestBody:
|
|
1002
1140
|
required: true
|
|
@@ -1010,54 +1148,67 @@ class NewEntityOutputFileResource(Resource, ArgsMixin):
|
|
|
1010
1148
|
properties:
|
|
1011
1149
|
name:
|
|
1012
1150
|
type: string
|
|
1151
|
+
description: Output file name
|
|
1013
1152
|
example: "main"
|
|
1014
1153
|
mode:
|
|
1015
1154
|
type: string
|
|
1155
|
+
description: Output file mode
|
|
1016
1156
|
default: output
|
|
1017
|
-
example: output
|
|
1157
|
+
example: "output"
|
|
1018
1158
|
output_type_id:
|
|
1019
1159
|
type: string
|
|
1020
1160
|
format: uuid
|
|
1161
|
+
description: Output type identifier
|
|
1021
1162
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1022
1163
|
task_type_id:
|
|
1023
1164
|
type: string
|
|
1024
1165
|
format: uuid
|
|
1166
|
+
description: Task type identifier
|
|
1025
1167
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1026
1168
|
person_id:
|
|
1027
1169
|
type: string
|
|
1028
1170
|
format: uuid
|
|
1171
|
+
description: Person identifier
|
|
1029
1172
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1030
1173
|
working_file_id:
|
|
1031
1174
|
type: string
|
|
1032
1175
|
format: uuid
|
|
1176
|
+
description: Source working file identifier
|
|
1033
1177
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1034
1178
|
file_status_id:
|
|
1035
1179
|
type: string
|
|
1036
1180
|
format: uuid
|
|
1181
|
+
description: File status identifier
|
|
1037
1182
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1038
1183
|
comment:
|
|
1039
1184
|
type: string
|
|
1185
|
+
description: Output file comment
|
|
1040
1186
|
example: "Final render"
|
|
1041
1187
|
extension:
|
|
1042
1188
|
type: string
|
|
1189
|
+
description: File extension
|
|
1043
1190
|
example: ".mp4"
|
|
1044
1191
|
representation:
|
|
1045
1192
|
type: string
|
|
1193
|
+
description: File representation
|
|
1046
1194
|
example: "mp4"
|
|
1047
1195
|
revision:
|
|
1048
1196
|
type: integer
|
|
1197
|
+
description: File revision number
|
|
1049
1198
|
example: 1
|
|
1050
1199
|
nb_elements:
|
|
1051
1200
|
type: integer
|
|
1201
|
+
description: Number of elements
|
|
1052
1202
|
default: 1
|
|
1053
1203
|
example: 1
|
|
1054
1204
|
sep:
|
|
1055
1205
|
type: string
|
|
1206
|
+
description: Path separator
|
|
1056
1207
|
default: /
|
|
1057
|
-
example: /
|
|
1208
|
+
example: "/"
|
|
1058
1209
|
responses:
|
|
1059
|
-
|
|
1060
|
-
description: New output file created
|
|
1210
|
+
201:
|
|
1211
|
+
description: New output file created successfully
|
|
1061
1212
|
content:
|
|
1062
1213
|
application/json:
|
|
1063
1214
|
schema:
|
|
@@ -1066,17 +1217,35 @@ class NewEntityOutputFileResource(Resource, ArgsMixin):
|
|
|
1066
1217
|
id:
|
|
1067
1218
|
type: string
|
|
1068
1219
|
format: uuid
|
|
1220
|
+
description: Output file unique identifier
|
|
1221
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1069
1222
|
name:
|
|
1070
1223
|
type: string
|
|
1224
|
+
description: Output file name
|
|
1225
|
+
example: "main"
|
|
1071
1226
|
path:
|
|
1072
1227
|
type: string
|
|
1228
|
+
description: Output file path
|
|
1229
|
+
example: "/project/asset/output/main_v001.mp4"
|
|
1073
1230
|
revision:
|
|
1074
1231
|
type: integer
|
|
1232
|
+
description: Output file revision
|
|
1233
|
+
example: 1
|
|
1075
1234
|
entity_id:
|
|
1076
1235
|
type: string
|
|
1077
1236
|
format: uuid
|
|
1078
|
-
|
|
1079
|
-
|
|
1237
|
+
description: Entity identifier
|
|
1238
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
1239
|
+
created_at:
|
|
1240
|
+
type: string
|
|
1241
|
+
format: date-time
|
|
1242
|
+
description: Creation timestamp
|
|
1243
|
+
example: "2023-01-01T12:00:00Z"
|
|
1244
|
+
updated_at:
|
|
1245
|
+
type: string
|
|
1246
|
+
format: date-time
|
|
1247
|
+
description: Last update timestamp
|
|
1248
|
+
example: "2023-01-01T12:30:00Z"
|
|
1080
1249
|
"""
|
|
1081
1250
|
args = self.get_arguments()
|
|
1082
1251
|
|
|
@@ -1205,30 +1374,17 @@ class NewEntityOutputFileResource(Resource, ArgsMixin):
|
|
|
1205
1374
|
|
|
1206
1375
|
|
|
1207
1376
|
class NewInstanceOutputFileResource(Resource, ArgsMixin):
|
|
1208
|
-
"""
|
|
1209
|
-
Some output files are linked to assets through an instance of this asset
|
|
1210
|
-
for a give shot. Each time a CG artist is satisfied by what he did on a
|
|
1211
|
-
working file, he can create an output file that
|
|
1212
|
-
will be linked to a target instance.
|
|
1213
|
-
It keeps track of the working file at the origin of the output file.
|
|
1214
|
-
An output type is required for better categorization (textures, caches,
|
|
1215
|
-
...). A task type can be set too to give the department related to the
|
|
1216
|
-
output file.
|
|
1217
|
-
"""
|
|
1218
1377
|
|
|
1219
1378
|
@jwt_required()
|
|
1220
1379
|
def post(self, asset_instance_id, temporal_entity_id):
|
|
1221
1380
|
"""
|
|
1222
|
-
Create new output file
|
|
1381
|
+
Create new instance output file
|
|
1223
1382
|
---
|
|
1383
|
+
description: Create a new output file linked to an asset instance
|
|
1384
|
+
for a specific shot. Output files track the source working file
|
|
1385
|
+
and require output type and task type for categorization.
|
|
1224
1386
|
tags:
|
|
1225
|
-
|
|
1226
|
-
description: Some output files are linked to assets through an instance of this asset for a given shot.
|
|
1227
|
-
Each time a CG artist is satisfied by what he did on a working file,
|
|
1228
|
-
he can create an output file that will be linked to a target instance.
|
|
1229
|
-
It keeps track of the working file at the origin of the output file.
|
|
1230
|
-
An output type is required for better categorization (textures, caches, ...).
|
|
1231
|
-
A task type can be set too to give the department related to the output file.
|
|
1387
|
+
- Files
|
|
1232
1388
|
parameters:
|
|
1233
1389
|
- in: path
|
|
1234
1390
|
name: asset_instance_id
|
|
@@ -1236,6 +1392,7 @@ class NewInstanceOutputFileResource(Resource, ArgsMixin):
|
|
|
1236
1392
|
schema:
|
|
1237
1393
|
type: string
|
|
1238
1394
|
format: uuid
|
|
1395
|
+
description: Asset instance unique identifier
|
|
1239
1396
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1240
1397
|
- in: path
|
|
1241
1398
|
name: temporal_entity_id
|
|
@@ -1243,7 +1400,8 @@ class NewInstanceOutputFileResource(Resource, ArgsMixin):
|
|
|
1243
1400
|
schema:
|
|
1244
1401
|
type: string
|
|
1245
1402
|
format: uuid
|
|
1246
|
-
|
|
1403
|
+
description: Temporal entity unique identifier
|
|
1404
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1247
1405
|
requestBody:
|
|
1248
1406
|
required: true
|
|
1249
1407
|
content:
|
|
@@ -1256,59 +1414,73 @@ class NewInstanceOutputFileResource(Resource, ArgsMixin):
|
|
|
1256
1414
|
properties:
|
|
1257
1415
|
name:
|
|
1258
1416
|
type: string
|
|
1417
|
+
description: Output file name
|
|
1259
1418
|
default: main
|
|
1260
|
-
example: main
|
|
1419
|
+
example: "main"
|
|
1261
1420
|
mode:
|
|
1262
1421
|
type: string
|
|
1422
|
+
description: Output file mode
|
|
1263
1423
|
default: output
|
|
1264
|
-
example: output
|
|
1424
|
+
example: "output"
|
|
1265
1425
|
output_type_id:
|
|
1266
1426
|
type: string
|
|
1267
1427
|
format: uuid
|
|
1428
|
+
description: Output type identifier
|
|
1268
1429
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1269
1430
|
task_type_id:
|
|
1270
1431
|
type: string
|
|
1271
1432
|
format: uuid
|
|
1272
|
-
|
|
1433
|
+
description: Task type identifier
|
|
1434
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1273
1435
|
person_id:
|
|
1274
1436
|
type: string
|
|
1275
1437
|
format: uuid
|
|
1438
|
+
description: Person identifier
|
|
1276
1439
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1277
1440
|
working_file_id:
|
|
1278
1441
|
type: string
|
|
1279
1442
|
format: uuid
|
|
1443
|
+
description: Source working file identifier
|
|
1280
1444
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1281
1445
|
file_status_id:
|
|
1282
1446
|
type: string
|
|
1283
1447
|
format: uuid
|
|
1448
|
+
description: File status identifier
|
|
1284
1449
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1285
1450
|
is_sequence:
|
|
1286
1451
|
type: boolean
|
|
1452
|
+
description: Whether file is a sequence
|
|
1287
1453
|
default: false
|
|
1288
1454
|
example: false
|
|
1289
1455
|
comment:
|
|
1290
1456
|
type: string
|
|
1457
|
+
description: Output file comment
|
|
1291
1458
|
example: "Final render"
|
|
1292
1459
|
extension:
|
|
1293
1460
|
type: string
|
|
1461
|
+
description: File extension
|
|
1294
1462
|
example: ".mp4"
|
|
1295
1463
|
representation:
|
|
1296
1464
|
type: string
|
|
1465
|
+
description: File representation
|
|
1297
1466
|
example: "mp4"
|
|
1298
1467
|
revision:
|
|
1299
1468
|
type: integer
|
|
1469
|
+
description: File revision number
|
|
1300
1470
|
example: 1
|
|
1301
1471
|
nb_elements:
|
|
1302
1472
|
type: integer
|
|
1473
|
+
description: Number of elements
|
|
1303
1474
|
default: 1
|
|
1304
1475
|
example: 1
|
|
1305
1476
|
sep:
|
|
1306
1477
|
type: string
|
|
1478
|
+
description: Path separator
|
|
1307
1479
|
default: /
|
|
1308
|
-
example: /
|
|
1480
|
+
example: "/"
|
|
1309
1481
|
responses:
|
|
1310
|
-
|
|
1311
|
-
description: New output file created
|
|
1482
|
+
201:
|
|
1483
|
+
description: New output file created successfully
|
|
1312
1484
|
content:
|
|
1313
1485
|
application/json:
|
|
1314
1486
|
schema:
|
|
@@ -1317,20 +1489,40 @@ class NewInstanceOutputFileResource(Resource, ArgsMixin):
|
|
|
1317
1489
|
id:
|
|
1318
1490
|
type: string
|
|
1319
1491
|
format: uuid
|
|
1492
|
+
description: Output file unique identifier
|
|
1493
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1320
1494
|
name:
|
|
1321
1495
|
type: string
|
|
1496
|
+
description: Output file name
|
|
1497
|
+
example: "main"
|
|
1322
1498
|
path:
|
|
1323
1499
|
type: string
|
|
1500
|
+
description: Output file path
|
|
1501
|
+
example: "/project/asset/instance/output/main_v001.mp4"
|
|
1324
1502
|
revision:
|
|
1325
1503
|
type: integer
|
|
1504
|
+
description: Output file revision
|
|
1505
|
+
example: 1
|
|
1326
1506
|
asset_instance_id:
|
|
1327
1507
|
type: string
|
|
1328
1508
|
format: uuid
|
|
1509
|
+
description: Asset instance identifier
|
|
1510
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
1329
1511
|
temporal_entity_id:
|
|
1330
1512
|
type: string
|
|
1331
1513
|
format: uuid
|
|
1332
|
-
|
|
1333
|
-
|
|
1514
|
+
description: Temporal entity identifier
|
|
1515
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
1516
|
+
created_at:
|
|
1517
|
+
type: string
|
|
1518
|
+
format: date-time
|
|
1519
|
+
description: Creation timestamp
|
|
1520
|
+
example: "2023-01-01T12:00:00Z"
|
|
1521
|
+
updated_at:
|
|
1522
|
+
type: string
|
|
1523
|
+
format: date-time
|
|
1524
|
+
description: Last update timestamp
|
|
1525
|
+
example: "2023-01-01T12:30:00Z"
|
|
1334
1526
|
"""
|
|
1335
1527
|
args = self.get_arguments()
|
|
1336
1528
|
|
|
@@ -1469,17 +1661,17 @@ class NewInstanceOutputFileResource(Resource, ArgsMixin):
|
|
|
1469
1661
|
|
|
1470
1662
|
|
|
1471
1663
|
class GetNextEntityOutputFileRevisionResource(Resource, ArgsMixin):
|
|
1472
|
-
"""
|
|
1473
|
-
Get next revision for given entity, output type, task type and name.
|
|
1474
|
-
"""
|
|
1475
1664
|
|
|
1476
1665
|
@jwt_required()
|
|
1477
1666
|
def post(self, entity_id):
|
|
1478
1667
|
"""
|
|
1479
|
-
Get next
|
|
1668
|
+
Get next entity output file revision
|
|
1480
1669
|
---
|
|
1670
|
+
description: Get the next revision number for an output file based
|
|
1671
|
+
on entity, output type, task type, and name. Used for automatic
|
|
1672
|
+
revision numbering.
|
|
1481
1673
|
tags:
|
|
1482
|
-
|
|
1674
|
+
- Files
|
|
1483
1675
|
parameters:
|
|
1484
1676
|
- in: path
|
|
1485
1677
|
name: entity_id
|
|
@@ -1487,6 +1679,7 @@ class GetNextEntityOutputFileRevisionResource(Resource, ArgsMixin):
|
|
|
1487
1679
|
schema:
|
|
1488
1680
|
type: string
|
|
1489
1681
|
format: uuid
|
|
1682
|
+
description: Entity unique identifier
|
|
1490
1683
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1491
1684
|
requestBody:
|
|
1492
1685
|
required: true
|
|
@@ -1500,19 +1693,22 @@ class GetNextEntityOutputFileRevisionResource(Resource, ArgsMixin):
|
|
|
1500
1693
|
properties:
|
|
1501
1694
|
name:
|
|
1502
1695
|
type: string
|
|
1696
|
+
description: File name
|
|
1503
1697
|
default: main
|
|
1504
|
-
example: main
|
|
1698
|
+
example: "main"
|
|
1505
1699
|
output_type_id:
|
|
1506
1700
|
type: string
|
|
1507
1701
|
format: uuid
|
|
1702
|
+
description: Output type identifier
|
|
1508
1703
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1509
1704
|
task_type_id:
|
|
1510
1705
|
type: string
|
|
1511
1706
|
format: uuid
|
|
1512
|
-
|
|
1707
|
+
description: Task type identifier
|
|
1708
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1513
1709
|
responses:
|
|
1514
|
-
|
|
1515
|
-
description: Next revision for
|
|
1710
|
+
200:
|
|
1711
|
+
description: Next revision number for the output file
|
|
1516
1712
|
content:
|
|
1517
1713
|
application/json:
|
|
1518
1714
|
schema:
|
|
@@ -1520,9 +1716,8 @@ class GetNextEntityOutputFileRevisionResource(Resource, ArgsMixin):
|
|
|
1520
1716
|
properties:
|
|
1521
1717
|
next_revision:
|
|
1522
1718
|
type: integer
|
|
1719
|
+
description: Next available revision number
|
|
1523
1720
|
example: 3
|
|
1524
|
-
'404':
|
|
1525
|
-
description: Entity, output type, or task type not found
|
|
1526
1721
|
"""
|
|
1527
1722
|
args = self.get_arguments()
|
|
1528
1723
|
entity = entities_service.get_entity(entity_id)
|
|
@@ -1547,53 +1742,71 @@ class GetNextEntityOutputFileRevisionResource(Resource, ArgsMixin):
|
|
|
1547
1742
|
|
|
1548
1743
|
|
|
1549
1744
|
class GetNextInstanceOutputFileRevisionResource(Resource, ArgsMixin):
|
|
1550
|
-
"""
|
|
1551
|
-
Get next revision for given asset instance, output type, task type and name.
|
|
1552
|
-
"""
|
|
1553
1745
|
|
|
1554
1746
|
@jwt_required()
|
|
1555
1747
|
def post(self, asset_instance_id, temporal_entity_id):
|
|
1556
1748
|
"""
|
|
1557
|
-
Get next
|
|
1749
|
+
Get next instance output file revision
|
|
1558
1750
|
---
|
|
1751
|
+
description: Get the next revision number for an output file based
|
|
1752
|
+
on asset instance, output type, task type, and name. Used for
|
|
1753
|
+
automatic revision numbering.
|
|
1559
1754
|
tags:
|
|
1560
1755
|
- Files
|
|
1561
1756
|
parameters:
|
|
1562
1757
|
- in: path
|
|
1563
1758
|
name: asset_instance_id
|
|
1564
1759
|
required: true
|
|
1565
|
-
|
|
1566
|
-
|
|
1760
|
+
schema:
|
|
1761
|
+
type: string
|
|
1762
|
+
format: uuid
|
|
1763
|
+
description: Asset instance unique identifier
|
|
1567
1764
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1568
1765
|
- in: path
|
|
1569
1766
|
name: temporal_entity_id
|
|
1570
1767
|
required: true
|
|
1571
|
-
type: string
|
|
1572
|
-
format: uuid
|
|
1573
|
-
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1574
|
-
- in: body
|
|
1575
|
-
name: File
|
|
1576
|
-
description: Name, output type ID, task type ID.
|
|
1577
1768
|
schema:
|
|
1769
|
+
type: string
|
|
1770
|
+
format: uuid
|
|
1771
|
+
description: Temporal entity unique identifier
|
|
1772
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1773
|
+
requestBody:
|
|
1774
|
+
required: true
|
|
1775
|
+
content:
|
|
1776
|
+
application/json:
|
|
1777
|
+
schema:
|
|
1578
1778
|
type: object
|
|
1579
1779
|
required:
|
|
1580
1780
|
- output_type_id
|
|
1581
1781
|
- task_type_id
|
|
1582
1782
|
properties:
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1783
|
+
name:
|
|
1784
|
+
type: string
|
|
1785
|
+
description: File name
|
|
1786
|
+
default: main
|
|
1787
|
+
example: "main"
|
|
1788
|
+
output_type_id:
|
|
1789
|
+
type: string
|
|
1790
|
+
format: uuid
|
|
1791
|
+
description: Output type identifier
|
|
1792
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1793
|
+
task_type_id:
|
|
1794
|
+
type: string
|
|
1795
|
+
format: uuid
|
|
1796
|
+
description: Task type identifier
|
|
1797
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1594
1798
|
responses:
|
|
1595
|
-
|
|
1596
|
-
|
|
1799
|
+
200:
|
|
1800
|
+
description: Next revision number for the instance output file
|
|
1801
|
+
content:
|
|
1802
|
+
application/json:
|
|
1803
|
+
schema:
|
|
1804
|
+
type: object
|
|
1805
|
+
properties:
|
|
1806
|
+
next_revision:
|
|
1807
|
+
type: integer
|
|
1808
|
+
description: Next available revision number
|
|
1809
|
+
example: 2
|
|
1597
1810
|
"""
|
|
1598
1811
|
args = self.get_arguments()
|
|
1599
1812
|
|
|
@@ -1625,28 +1838,96 @@ class GetNextInstanceOutputFileRevisionResource(Resource, ArgsMixin):
|
|
|
1625
1838
|
|
|
1626
1839
|
|
|
1627
1840
|
class LastEntityOutputFilesResource(Resource, ArgsMixin):
|
|
1628
|
-
"""
|
|
1629
|
-
Last revisions of output files for given entity grouped by output type
|
|
1630
|
-
and file name.
|
|
1631
|
-
"""
|
|
1632
1841
|
|
|
1633
1842
|
@jwt_required()
|
|
1634
1843
|
def get(self, entity_id):
|
|
1635
1844
|
"""
|
|
1636
|
-
Get last
|
|
1845
|
+
Get last entity output files
|
|
1637
1846
|
---
|
|
1847
|
+
description: Retrieve the last revisions of output files for a given
|
|
1848
|
+
entity grouped by output type and file name. Returns the most
|
|
1849
|
+
recent version of each output file.
|
|
1638
1850
|
tags:
|
|
1639
1851
|
- Files
|
|
1640
1852
|
parameters:
|
|
1641
1853
|
- in: path
|
|
1642
1854
|
name: entity_id
|
|
1643
1855
|
required: true
|
|
1644
|
-
|
|
1645
|
-
|
|
1856
|
+
schema:
|
|
1857
|
+
type: string
|
|
1858
|
+
format: uuid
|
|
1859
|
+
description: Entity unique identifier
|
|
1646
1860
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1861
|
+
- in: query
|
|
1862
|
+
name: output_type_id
|
|
1863
|
+
required: false
|
|
1864
|
+
schema:
|
|
1865
|
+
type: string
|
|
1866
|
+
format: uuid
|
|
1867
|
+
description: Filter by output type
|
|
1868
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1869
|
+
- in: query
|
|
1870
|
+
name: task_type_id
|
|
1871
|
+
required: false
|
|
1872
|
+
schema:
|
|
1873
|
+
type: string
|
|
1874
|
+
format: uuid
|
|
1875
|
+
description: Filter by task type
|
|
1876
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
1877
|
+
- in: query
|
|
1878
|
+
name: representation
|
|
1879
|
+
required: false
|
|
1880
|
+
schema:
|
|
1881
|
+
type: string
|
|
1882
|
+
description: Filter by representation
|
|
1883
|
+
example: "mp4"
|
|
1884
|
+
- in: query
|
|
1885
|
+
name: file_status_id
|
|
1886
|
+
required: false
|
|
1887
|
+
schema:
|
|
1888
|
+
type: string
|
|
1889
|
+
format: uuid
|
|
1890
|
+
description: Filter by file status
|
|
1891
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
1892
|
+
- in: query
|
|
1893
|
+
name: name
|
|
1894
|
+
required: false
|
|
1895
|
+
schema:
|
|
1896
|
+
type: string
|
|
1897
|
+
description: Filter by file name
|
|
1898
|
+
example: "main"
|
|
1647
1899
|
responses:
|
|
1648
|
-
|
|
1649
|
-
|
|
1900
|
+
200:
|
|
1901
|
+
description: Last revisions of output files grouped by output type and file name
|
|
1902
|
+
content:
|
|
1903
|
+
application/json:
|
|
1904
|
+
schema:
|
|
1905
|
+
type: object
|
|
1906
|
+
additionalProperties:
|
|
1907
|
+
type: object
|
|
1908
|
+
properties:
|
|
1909
|
+
id:
|
|
1910
|
+
type: string
|
|
1911
|
+
format: uuid
|
|
1912
|
+
description: Output file unique identifier
|
|
1913
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
1914
|
+
name:
|
|
1915
|
+
type: string
|
|
1916
|
+
description: Output file name
|
|
1917
|
+
example: "main"
|
|
1918
|
+
revision:
|
|
1919
|
+
type: integer
|
|
1920
|
+
description: Output file revision
|
|
1921
|
+
example: 2
|
|
1922
|
+
path:
|
|
1923
|
+
type: string
|
|
1924
|
+
description: Output file path
|
|
1925
|
+
example: "/project/asset/output/main_v002.mp4"
|
|
1926
|
+
updated_at:
|
|
1927
|
+
type: string
|
|
1928
|
+
format: date-time
|
|
1929
|
+
description: Last update timestamp
|
|
1930
|
+
example: "2023-01-01T12:00:00Z"
|
|
1650
1931
|
"""
|
|
1651
1932
|
args = self.get_args(
|
|
1652
1933
|
[
|
|
@@ -1672,18 +1953,17 @@ class LastEntityOutputFilesResource(Resource, ArgsMixin):
|
|
|
1672
1953
|
|
|
1673
1954
|
|
|
1674
1955
|
class LastInstanceOutputFilesResource(Resource, ArgsMixin):
|
|
1675
|
-
"""
|
|
1676
|
-
Last revisions of output files for given instance grouped by output type
|
|
1677
|
-
and file name.
|
|
1678
|
-
"""
|
|
1679
1956
|
|
|
1680
1957
|
@jwt_required()
|
|
1681
1958
|
def get(self, asset_instance_id, temporal_entity_id):
|
|
1682
1959
|
"""
|
|
1683
|
-
Get last
|
|
1960
|
+
Get last instance output files
|
|
1684
1961
|
---
|
|
1962
|
+
description: Retrieve the last revisions of output files for a given
|
|
1963
|
+
instance grouped by output type and file name. Returns the most
|
|
1964
|
+
recent version of each output file.
|
|
1685
1965
|
tags:
|
|
1686
|
-
|
|
1966
|
+
- Files
|
|
1687
1967
|
parameters:
|
|
1688
1968
|
- in: path
|
|
1689
1969
|
name: asset_instance_id
|
|
@@ -1691,6 +1971,7 @@ class LastInstanceOutputFilesResource(Resource, ArgsMixin):
|
|
|
1691
1971
|
schema:
|
|
1692
1972
|
type: string
|
|
1693
1973
|
format: uuid
|
|
1974
|
+
description: Asset instance unique identifier
|
|
1694
1975
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1695
1976
|
- in: path
|
|
1696
1977
|
name: temporal_entity_id
|
|
@@ -1698,37 +1979,49 @@ class LastInstanceOutputFilesResource(Resource, ArgsMixin):
|
|
|
1698
1979
|
schema:
|
|
1699
1980
|
type: string
|
|
1700
1981
|
format: uuid
|
|
1701
|
-
|
|
1982
|
+
description: Temporal entity unique identifier
|
|
1983
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1702
1984
|
- in: query
|
|
1703
1985
|
name: output_type_id
|
|
1704
|
-
required:
|
|
1986
|
+
required: false
|
|
1705
1987
|
schema:
|
|
1706
1988
|
type: string
|
|
1707
1989
|
format: uuid
|
|
1708
|
-
|
|
1990
|
+
description: Filter by output type
|
|
1991
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
1709
1992
|
- in: query
|
|
1710
1993
|
name: task_type_id
|
|
1711
|
-
required:
|
|
1994
|
+
required: false
|
|
1712
1995
|
schema:
|
|
1713
1996
|
type: string
|
|
1714
1997
|
format: uuid
|
|
1715
|
-
|
|
1998
|
+
description: Filter by task type
|
|
1999
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
1716
2000
|
- in: query
|
|
1717
2001
|
name: file_status_id
|
|
1718
|
-
required:
|
|
2002
|
+
required: false
|
|
1719
2003
|
schema:
|
|
1720
2004
|
type: string
|
|
1721
2005
|
format: uuid
|
|
1722
|
-
|
|
2006
|
+
description: Filter by file status
|
|
2007
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
1723
2008
|
- in: query
|
|
1724
2009
|
name: representation
|
|
1725
|
-
required:
|
|
2010
|
+
required: false
|
|
2011
|
+
schema:
|
|
2012
|
+
type: string
|
|
2013
|
+
description: Filter by representation
|
|
2014
|
+
example: "cache"
|
|
2015
|
+
- in: query
|
|
2016
|
+
name: name
|
|
2017
|
+
required: false
|
|
1726
2018
|
schema:
|
|
1727
2019
|
type: string
|
|
1728
|
-
|
|
2020
|
+
description: Filter by file name
|
|
2021
|
+
example: "main"
|
|
1729
2022
|
responses:
|
|
1730
|
-
|
|
1731
|
-
description: Last revisions of output files
|
|
2023
|
+
200:
|
|
2024
|
+
description: Last revisions of output files grouped by output type and file name
|
|
1732
2025
|
content:
|
|
1733
2026
|
application/json:
|
|
1734
2027
|
schema:
|
|
@@ -1739,17 +2032,25 @@ class LastInstanceOutputFilesResource(Resource, ArgsMixin):
|
|
|
1739
2032
|
id:
|
|
1740
2033
|
type: string
|
|
1741
2034
|
format: uuid
|
|
2035
|
+
description: Output file unique identifier
|
|
2036
|
+
example: f79f1jf9-hj20-9010-f625-a09008537h80
|
|
1742
2037
|
name:
|
|
1743
2038
|
type: string
|
|
2039
|
+
description: Output file name
|
|
2040
|
+
example: "main"
|
|
1744
2041
|
revision:
|
|
1745
2042
|
type: integer
|
|
2043
|
+
description: Output file revision
|
|
2044
|
+
example: 1
|
|
1746
2045
|
path:
|
|
1747
2046
|
type: string
|
|
2047
|
+
description: Output file path
|
|
2048
|
+
example: "/project/asset/instance/output/main_v001.mp4"
|
|
1748
2049
|
updated_at:
|
|
1749
2050
|
type: string
|
|
1750
2051
|
format: date-time
|
|
1751
|
-
|
|
1752
|
-
|
|
2052
|
+
description: Last update timestamp
|
|
2053
|
+
example: "2023-01-01T12:00:00Z"
|
|
1753
2054
|
"""
|
|
1754
2055
|
args = self.get_args(
|
|
1755
2056
|
[
|
|
@@ -1777,27 +2078,59 @@ class LastInstanceOutputFilesResource(Resource, ArgsMixin):
|
|
|
1777
2078
|
|
|
1778
2079
|
|
|
1779
2080
|
class EntityOutputTypesResource(Resource):
|
|
1780
|
-
"""
|
|
1781
|
-
Return all types of output generated for given entity.
|
|
1782
|
-
"""
|
|
1783
2081
|
|
|
1784
2082
|
@jwt_required()
|
|
1785
2083
|
def get(self, entity_id):
|
|
1786
2084
|
"""
|
|
1787
|
-
|
|
2085
|
+
Get entity output types
|
|
1788
2086
|
---
|
|
2087
|
+
description: Retrieve all types of output files generated for a
|
|
2088
|
+
given entity. Returns list of output types available for the
|
|
2089
|
+
entity.
|
|
1789
2090
|
tags:
|
|
1790
2091
|
- Files
|
|
1791
2092
|
parameters:
|
|
1792
2093
|
- in: path
|
|
1793
2094
|
name: entity_id
|
|
1794
2095
|
required: true
|
|
1795
|
-
|
|
1796
|
-
|
|
2096
|
+
schema:
|
|
2097
|
+
type: string
|
|
2098
|
+
format: uuid
|
|
2099
|
+
description: Entity unique identifier
|
|
1797
2100
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1798
2101
|
responses:
|
|
1799
|
-
|
|
1800
|
-
|
|
2102
|
+
200:
|
|
2103
|
+
description: All types of output files generated for the entity
|
|
2104
|
+
content:
|
|
2105
|
+
application/json:
|
|
2106
|
+
schema:
|
|
2107
|
+
type: array
|
|
2108
|
+
items:
|
|
2109
|
+
type: object
|
|
2110
|
+
properties:
|
|
2111
|
+
id:
|
|
2112
|
+
type: string
|
|
2113
|
+
format: uuid
|
|
2114
|
+
description: Output type unique identifier
|
|
2115
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2116
|
+
name:
|
|
2117
|
+
type: string
|
|
2118
|
+
description: Output type name
|
|
2119
|
+
example: "Cache"
|
|
2120
|
+
short_name:
|
|
2121
|
+
type: string
|
|
2122
|
+
description: Output type short name
|
|
2123
|
+
example: "CACHE"
|
|
2124
|
+
created_at:
|
|
2125
|
+
type: string
|
|
2126
|
+
format: date-time
|
|
2127
|
+
description: Creation timestamp
|
|
2128
|
+
example: "2023-01-01T12:00:00Z"
|
|
2129
|
+
updated_at:
|
|
2130
|
+
type: string
|
|
2131
|
+
format: date-time
|
|
2132
|
+
description: Last update timestamp
|
|
2133
|
+
example: "2023-01-01T12:30:00Z"
|
|
1801
2134
|
"""
|
|
1802
2135
|
entity = entities_service.get_entity(entity_id)
|
|
1803
2136
|
user_service.check_project_access(entity["project_id"])
|
|
@@ -1805,34 +2138,67 @@ class EntityOutputTypesResource(Resource):
|
|
|
1805
2138
|
|
|
1806
2139
|
|
|
1807
2140
|
class InstanceOutputTypesResource(Resource):
|
|
1808
|
-
"""
|
|
1809
|
-
Return all types of output generated for given instance.
|
|
1810
|
-
"""
|
|
1811
2141
|
|
|
1812
2142
|
@jwt_required()
|
|
1813
2143
|
def get(self, asset_instance_id, temporal_entity_id):
|
|
1814
2144
|
"""
|
|
1815
|
-
|
|
2145
|
+
Get instance output types
|
|
1816
2146
|
---
|
|
2147
|
+
description: Retrieve all types of output files generated for a
|
|
2148
|
+
given asset instance and temporal entity. Returns list of output
|
|
2149
|
+
types available for the instance.
|
|
1817
2150
|
tags:
|
|
1818
2151
|
- Files
|
|
1819
2152
|
parameters:
|
|
1820
2153
|
- in: path
|
|
1821
2154
|
name: asset_instance_id
|
|
1822
2155
|
required: true
|
|
1823
|
-
|
|
1824
|
-
|
|
2156
|
+
schema:
|
|
2157
|
+
type: string
|
|
2158
|
+
format: uuid
|
|
2159
|
+
description: Asset instance unique identifier
|
|
1825
2160
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1826
2161
|
- in: path
|
|
1827
2162
|
name: temporal_entity_id
|
|
1828
2163
|
required: true
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
2164
|
+
schema:
|
|
2165
|
+
type: string
|
|
2166
|
+
format: uuid
|
|
2167
|
+
description: Temporal entity unique identifier
|
|
2168
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1832
2169
|
responses:
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
2170
|
+
200:
|
|
2171
|
+
description: All types of output files generated for the instance
|
|
2172
|
+
content:
|
|
2173
|
+
application/json:
|
|
2174
|
+
schema:
|
|
2175
|
+
type: array
|
|
2176
|
+
items:
|
|
2177
|
+
type: object
|
|
2178
|
+
properties:
|
|
2179
|
+
id:
|
|
2180
|
+
type: string
|
|
2181
|
+
format: uuid
|
|
2182
|
+
description: Output type unique identifier
|
|
2183
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2184
|
+
name:
|
|
2185
|
+
type: string
|
|
2186
|
+
description: Output type name
|
|
2187
|
+
example: "Render"
|
|
2188
|
+
short_name:
|
|
2189
|
+
type: string
|
|
2190
|
+
description: Output type short name
|
|
2191
|
+
example: "RENDER"
|
|
2192
|
+
created_at:
|
|
2193
|
+
type: string
|
|
2194
|
+
format: date-time
|
|
2195
|
+
description: Creation timestamp
|
|
2196
|
+
example: "2023-01-01T12:00:00Z"
|
|
2197
|
+
updated_at:
|
|
2198
|
+
type: string
|
|
2199
|
+
format: date-time
|
|
2200
|
+
description: Last update timestamp
|
|
2201
|
+
example: "2023-01-01T12:30:00Z"
|
|
1836
2202
|
"""
|
|
1837
2203
|
asset_instance = assets_service.get_asset_instance(asset_instance_id)
|
|
1838
2204
|
entity = entities_service.get_entity(asset_instance["asset_id"])
|
|
@@ -1843,33 +2209,77 @@ class InstanceOutputTypesResource(Resource):
|
|
|
1843
2209
|
|
|
1844
2210
|
|
|
1845
2211
|
class EntityOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
1846
|
-
"""
|
|
1847
|
-
Get all output files for given entity and given output type.
|
|
1848
|
-
"""
|
|
1849
2212
|
|
|
1850
2213
|
@jwt_required()
|
|
1851
2214
|
def get(self, entity_id, output_type_id):
|
|
1852
2215
|
"""
|
|
1853
|
-
Get
|
|
2216
|
+
Get entity output type files
|
|
1854
2217
|
---
|
|
2218
|
+
description: Retrieve all output files for a given entity and
|
|
2219
|
+
output type. Optionally filter by representation.
|
|
1855
2220
|
tags:
|
|
1856
2221
|
- Files
|
|
1857
2222
|
parameters:
|
|
1858
2223
|
- in: path
|
|
1859
2224
|
name: entity_id
|
|
1860
2225
|
required: true
|
|
1861
|
-
|
|
1862
|
-
|
|
2226
|
+
schema:
|
|
2227
|
+
type: string
|
|
2228
|
+
format: uuid
|
|
2229
|
+
description: Entity unique identifier
|
|
1863
2230
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1864
2231
|
- in: path
|
|
1865
2232
|
name: output_type_id
|
|
1866
2233
|
required: true
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
2234
|
+
schema:
|
|
2235
|
+
type: string
|
|
2236
|
+
format: uuid
|
|
2237
|
+
description: Output type unique identifier
|
|
2238
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2239
|
+
- in: query
|
|
2240
|
+
name: representation
|
|
2241
|
+
required: false
|
|
2242
|
+
schema:
|
|
2243
|
+
type: string
|
|
2244
|
+
description: Filter by representation
|
|
2245
|
+
example: "mp4"
|
|
1870
2246
|
responses:
|
|
1871
|
-
|
|
1872
|
-
|
|
2247
|
+
200:
|
|
2248
|
+
description: All output files for the entity and output type
|
|
2249
|
+
content:
|
|
2250
|
+
application/json:
|
|
2251
|
+
schema:
|
|
2252
|
+
type: array
|
|
2253
|
+
items:
|
|
2254
|
+
type: object
|
|
2255
|
+
properties:
|
|
2256
|
+
id:
|
|
2257
|
+
type: string
|
|
2258
|
+
format: uuid
|
|
2259
|
+
description: Output file unique identifier
|
|
2260
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2261
|
+
name:
|
|
2262
|
+
type: string
|
|
2263
|
+
description: Output file name
|
|
2264
|
+
example: "main"
|
|
2265
|
+
revision:
|
|
2266
|
+
type: integer
|
|
2267
|
+
description: Output file revision
|
|
2268
|
+
example: 1
|
|
2269
|
+
path:
|
|
2270
|
+
type: string
|
|
2271
|
+
description: Output file path
|
|
2272
|
+
example: "/project/asset/output/main_v001.mp4"
|
|
2273
|
+
updated_at:
|
|
2274
|
+
type: string
|
|
2275
|
+
format: date-time
|
|
2276
|
+
description: Last update timestamp
|
|
2277
|
+
example: "2023-01-01T12:00:00Z"
|
|
2278
|
+
entity_id:
|
|
2279
|
+
type: string
|
|
2280
|
+
format: uuid
|
|
2281
|
+
description: Entity identifier
|
|
2282
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
1873
2283
|
"""
|
|
1874
2284
|
representation = self.get_text_parameter("representation")
|
|
1875
2285
|
|
|
@@ -1886,17 +2296,17 @@ class EntityOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
|
1886
2296
|
|
|
1887
2297
|
|
|
1888
2298
|
class InstanceOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
1889
|
-
"""
|
|
1890
|
-
Get all output files for given asset instance and given output type.
|
|
1891
|
-
"""
|
|
1892
2299
|
|
|
1893
2300
|
@jwt_required()
|
|
1894
2301
|
def get(self, asset_instance_id, temporal_entity_id, output_type_id):
|
|
1895
2302
|
"""
|
|
1896
|
-
Get
|
|
2303
|
+
Get instance output type files
|
|
1897
2304
|
---
|
|
2305
|
+
description: Retrieve all output files for a given asset instance,
|
|
2306
|
+
temporal entity, and output type. Optionally filter by
|
|
2307
|
+
representation.
|
|
1898
2308
|
tags:
|
|
1899
|
-
|
|
2309
|
+
- Files
|
|
1900
2310
|
parameters:
|
|
1901
2311
|
- in: path
|
|
1902
2312
|
name: asset_instance_id
|
|
@@ -1904,6 +2314,7 @@ class InstanceOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
|
1904
2314
|
schema:
|
|
1905
2315
|
type: string
|
|
1906
2316
|
format: uuid
|
|
2317
|
+
description: Asset instance unique identifier
|
|
1907
2318
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1908
2319
|
- in: path
|
|
1909
2320
|
name: temporal_entity_id
|
|
@@ -1911,17 +2322,26 @@ class InstanceOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
|
1911
2322
|
schema:
|
|
1912
2323
|
type: string
|
|
1913
2324
|
format: uuid
|
|
1914
|
-
|
|
2325
|
+
description: Temporal entity unique identifier
|
|
2326
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1915
2327
|
- in: path
|
|
1916
2328
|
name: output_type_id
|
|
1917
2329
|
required: true
|
|
1918
2330
|
schema:
|
|
1919
2331
|
type: string
|
|
1920
2332
|
format: uuid
|
|
1921
|
-
|
|
2333
|
+
description: Output type unique identifier
|
|
2334
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2335
|
+
- in: query
|
|
2336
|
+
name: representation
|
|
2337
|
+
required: false
|
|
2338
|
+
schema:
|
|
2339
|
+
type: string
|
|
2340
|
+
description: Filter by representation
|
|
2341
|
+
example: "mp4"
|
|
1922
2342
|
responses:
|
|
1923
|
-
|
|
1924
|
-
description: All output files for
|
|
2343
|
+
200:
|
|
2344
|
+
description: All output files for the asset instance and output type
|
|
1925
2345
|
content:
|
|
1926
2346
|
application/json:
|
|
1927
2347
|
schema:
|
|
@@ -1932,23 +2352,35 @@ class InstanceOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
|
1932
2352
|
id:
|
|
1933
2353
|
type: string
|
|
1934
2354
|
format: uuid
|
|
2355
|
+
description: Output file unique identifier
|
|
2356
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
1935
2357
|
name:
|
|
1936
2358
|
type: string
|
|
2359
|
+
description: Output file name
|
|
2360
|
+
example: "main"
|
|
1937
2361
|
revision:
|
|
1938
2362
|
type: integer
|
|
2363
|
+
description: Output file revision
|
|
2364
|
+
example: 1
|
|
1939
2365
|
path:
|
|
1940
2366
|
type: string
|
|
2367
|
+
description: Output file path
|
|
2368
|
+
example: "/project/asset/instance/output/main_v001.mp4"
|
|
1941
2369
|
updated_at:
|
|
1942
2370
|
type: string
|
|
1943
2371
|
format: date-time
|
|
2372
|
+
description: Last update timestamp
|
|
2373
|
+
example: "2023-01-01T12:00:00Z"
|
|
1944
2374
|
asset_instance_id:
|
|
1945
2375
|
type: string
|
|
1946
2376
|
format: uuid
|
|
2377
|
+
description: Asset instance identifier
|
|
2378
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
1947
2379
|
temporal_entity_id:
|
|
1948
2380
|
type: string
|
|
1949
2381
|
format: uuid
|
|
1950
|
-
|
|
1951
|
-
|
|
2382
|
+
description: Temporal entity identifier
|
|
2383
|
+
example: f79f1jf9-hj20-9010-f625-a09008537h80
|
|
1952
2384
|
"""
|
|
1953
2385
|
representation = self.get_text_parameter("representation")
|
|
1954
2386
|
|
|
@@ -1968,13 +2400,17 @@ class InstanceOutputTypeOutputFilesResource(Resource, ArgsMixin):
|
|
|
1968
2400
|
|
|
1969
2401
|
|
|
1970
2402
|
class ProjectOutputFilesResource(Resource, ArgsMixin):
|
|
2403
|
+
|
|
1971
2404
|
@jwt_required()
|
|
1972
2405
|
def get(self, project_id):
|
|
1973
2406
|
"""
|
|
1974
|
-
Get
|
|
2407
|
+
Get project output files
|
|
1975
2408
|
---
|
|
2409
|
+
description: Retrieve all output files for a given project with
|
|
2410
|
+
optional filtering by output type, task type, representation,
|
|
2411
|
+
file status, and name.
|
|
1976
2412
|
tags:
|
|
1977
|
-
|
|
2413
|
+
- Files
|
|
1978
2414
|
parameters:
|
|
1979
2415
|
- in: path
|
|
1980
2416
|
name: project_id
|
|
@@ -1982,37 +2418,49 @@ class ProjectOutputFilesResource(Resource, ArgsMixin):
|
|
|
1982
2418
|
schema:
|
|
1983
2419
|
type: string
|
|
1984
2420
|
format: uuid
|
|
2421
|
+
description: Project unique identifier
|
|
1985
2422
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
1986
2423
|
- in: query
|
|
1987
2424
|
name: output_type_id
|
|
1988
|
-
required:
|
|
2425
|
+
required: false
|
|
1989
2426
|
schema:
|
|
1990
2427
|
type: string
|
|
1991
2428
|
format: uuid
|
|
1992
|
-
|
|
2429
|
+
description: Filter by output type
|
|
2430
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
1993
2431
|
- in: query
|
|
1994
2432
|
name: task_type_id
|
|
1995
|
-
required:
|
|
2433
|
+
required: false
|
|
1996
2434
|
schema:
|
|
1997
2435
|
type: string
|
|
1998
2436
|
format: uuid
|
|
1999
|
-
|
|
2437
|
+
description: Filter by task type
|
|
2438
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2000
2439
|
- in: query
|
|
2001
2440
|
name: file_status_id
|
|
2002
|
-
required:
|
|
2441
|
+
required: false
|
|
2003
2442
|
schema:
|
|
2004
2443
|
type: string
|
|
2005
2444
|
format: uuid
|
|
2006
|
-
|
|
2445
|
+
description: Filter by file status
|
|
2446
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
2007
2447
|
- in: query
|
|
2008
2448
|
name: representation
|
|
2009
|
-
required:
|
|
2449
|
+
required: false
|
|
2450
|
+
schema:
|
|
2451
|
+
type: string
|
|
2452
|
+
description: Filter by representation
|
|
2453
|
+
example: "cache"
|
|
2454
|
+
- in: query
|
|
2455
|
+
name: name
|
|
2456
|
+
required: false
|
|
2010
2457
|
schema:
|
|
2011
2458
|
type: string
|
|
2012
|
-
|
|
2459
|
+
description: Filter by file name
|
|
2460
|
+
example: "main"
|
|
2013
2461
|
responses:
|
|
2014
|
-
|
|
2015
|
-
description: All output files for
|
|
2462
|
+
200:
|
|
2463
|
+
description: All output files for the project
|
|
2016
2464
|
content:
|
|
2017
2465
|
application/json:
|
|
2018
2466
|
schema:
|
|
@@ -2023,20 +2471,30 @@ class ProjectOutputFilesResource(Resource, ArgsMixin):
|
|
|
2023
2471
|
id:
|
|
2024
2472
|
type: string
|
|
2025
2473
|
format: uuid
|
|
2474
|
+
description: Output file unique identifier
|
|
2475
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
2026
2476
|
name:
|
|
2027
2477
|
type: string
|
|
2478
|
+
description: Output file name
|
|
2479
|
+
example: "main"
|
|
2028
2480
|
revision:
|
|
2029
2481
|
type: integer
|
|
2482
|
+
description: Output file revision
|
|
2483
|
+
example: 1
|
|
2030
2484
|
path:
|
|
2031
2485
|
type: string
|
|
2486
|
+
description: Output file path
|
|
2487
|
+
example: "/project/asset/output/main_v001.mp4"
|
|
2032
2488
|
updated_at:
|
|
2033
2489
|
type: string
|
|
2034
2490
|
format: date-time
|
|
2491
|
+
description: Last update timestamp
|
|
2492
|
+
example: "2023-01-01T12:00:00Z"
|
|
2035
2493
|
project_id:
|
|
2036
2494
|
type: string
|
|
2037
2495
|
format: uuid
|
|
2038
|
-
|
|
2039
|
-
|
|
2496
|
+
description: Project identifier
|
|
2497
|
+
example: f79f1jf9-hj20-9010-f625-a09008537h80
|
|
2040
2498
|
"""
|
|
2041
2499
|
args = self.get_args(
|
|
2042
2500
|
[
|
|
@@ -2060,17 +2518,17 @@ class ProjectOutputFilesResource(Resource, ArgsMixin):
|
|
|
2060
2518
|
|
|
2061
2519
|
|
|
2062
2520
|
class EntityOutputFilesResource(Resource, ArgsMixin):
|
|
2063
|
-
"""
|
|
2064
|
-
Get all output files for given asset instance and given output type.
|
|
2065
|
-
"""
|
|
2066
2521
|
|
|
2067
2522
|
@jwt_required()
|
|
2068
2523
|
def get(self, entity_id):
|
|
2069
2524
|
"""
|
|
2070
|
-
Get
|
|
2525
|
+
Get entity output files
|
|
2071
2526
|
---
|
|
2527
|
+
description: Retrieve all output files for a given entity with
|
|
2528
|
+
optional filtering by output type, task type, representation,
|
|
2529
|
+
file status, and name.
|
|
2072
2530
|
tags:
|
|
2073
|
-
|
|
2531
|
+
- Files
|
|
2074
2532
|
parameters:
|
|
2075
2533
|
- in: path
|
|
2076
2534
|
name: entity_id
|
|
@@ -2078,37 +2536,49 @@ class EntityOutputFilesResource(Resource, ArgsMixin):
|
|
|
2078
2536
|
schema:
|
|
2079
2537
|
type: string
|
|
2080
2538
|
format: uuid
|
|
2539
|
+
description: Entity unique identifier
|
|
2081
2540
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2082
2541
|
- in: query
|
|
2083
2542
|
name: output_type_id
|
|
2084
|
-
required:
|
|
2543
|
+
required: false
|
|
2085
2544
|
schema:
|
|
2086
2545
|
type: string
|
|
2087
2546
|
format: uuid
|
|
2088
|
-
|
|
2547
|
+
description: Filter by output type
|
|
2548
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2089
2549
|
- in: query
|
|
2090
2550
|
name: task_type_id
|
|
2091
|
-
required:
|
|
2551
|
+
required: false
|
|
2092
2552
|
schema:
|
|
2093
2553
|
type: string
|
|
2094
2554
|
format: uuid
|
|
2095
|
-
|
|
2555
|
+
description: Filter by task type
|
|
2556
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2096
2557
|
- in: query
|
|
2097
2558
|
name: file_status_id
|
|
2098
|
-
required:
|
|
2559
|
+
required: false
|
|
2099
2560
|
schema:
|
|
2100
2561
|
type: string
|
|
2101
2562
|
format: uuid
|
|
2102
|
-
|
|
2563
|
+
description: Filter by file status
|
|
2564
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
2103
2565
|
- in: query
|
|
2104
2566
|
name: representation
|
|
2105
|
-
required:
|
|
2567
|
+
required: false
|
|
2106
2568
|
schema:
|
|
2107
2569
|
type: string
|
|
2108
|
-
|
|
2570
|
+
description: Filter by representation
|
|
2571
|
+
example: "cache"
|
|
2572
|
+
- in: query
|
|
2573
|
+
name: name
|
|
2574
|
+
required: false
|
|
2575
|
+
schema:
|
|
2576
|
+
type: string
|
|
2577
|
+
description: Filter by file name
|
|
2578
|
+
example: "main"
|
|
2109
2579
|
responses:
|
|
2110
|
-
|
|
2111
|
-
description: All output files for
|
|
2580
|
+
200:
|
|
2581
|
+
description: All output files for the entity
|
|
2112
2582
|
content:
|
|
2113
2583
|
application/json:
|
|
2114
2584
|
schema:
|
|
@@ -2119,20 +2589,30 @@ class EntityOutputFilesResource(Resource, ArgsMixin):
|
|
|
2119
2589
|
id:
|
|
2120
2590
|
type: string
|
|
2121
2591
|
format: uuid
|
|
2592
|
+
description: Output file unique identifier
|
|
2593
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
2122
2594
|
name:
|
|
2123
2595
|
type: string
|
|
2596
|
+
description: Output file name
|
|
2597
|
+
example: "main"
|
|
2124
2598
|
revision:
|
|
2125
2599
|
type: integer
|
|
2600
|
+
description: Output file revision
|
|
2601
|
+
example: 1
|
|
2126
2602
|
path:
|
|
2127
2603
|
type: string
|
|
2604
|
+
description: Output file path
|
|
2605
|
+
example: "/project/asset/output/main_v001.mp4"
|
|
2128
2606
|
updated_at:
|
|
2129
2607
|
type: string
|
|
2130
2608
|
format: date-time
|
|
2609
|
+
description: Last update timestamp
|
|
2610
|
+
example: "2023-01-01T12:00:00Z"
|
|
2131
2611
|
entity_id:
|
|
2132
2612
|
type: string
|
|
2133
2613
|
format: uuid
|
|
2134
|
-
|
|
2135
|
-
|
|
2614
|
+
description: Entity identifier
|
|
2615
|
+
example: f79f1jf9-hj20-9010-f625-a09008537h80
|
|
2136
2616
|
"""
|
|
2137
2617
|
args = self.get_args(
|
|
2138
2618
|
[
|
|
@@ -2158,17 +2638,17 @@ class EntityOutputFilesResource(Resource, ArgsMixin):
|
|
|
2158
2638
|
|
|
2159
2639
|
|
|
2160
2640
|
class InstanceOutputFilesResource(Resource):
|
|
2161
|
-
"""
|
|
2162
|
-
Get all output files for given asset instance and given output type.
|
|
2163
|
-
"""
|
|
2164
2641
|
|
|
2165
2642
|
@jwt_required()
|
|
2166
2643
|
def get(self, asset_instance_id):
|
|
2167
2644
|
"""
|
|
2168
|
-
Get
|
|
2645
|
+
Get instance output files
|
|
2169
2646
|
---
|
|
2647
|
+
description: Retrieve all output files for a given asset instance
|
|
2648
|
+
and temporal entity with optional filtering by output type, task
|
|
2649
|
+
type, representation, file status, and name.
|
|
2170
2650
|
tags:
|
|
2171
|
-
|
|
2651
|
+
- Files
|
|
2172
2652
|
parameters:
|
|
2173
2653
|
- in: path
|
|
2174
2654
|
name: asset_instance_id
|
|
@@ -2176,44 +2656,57 @@ class InstanceOutputFilesResource(Resource):
|
|
|
2176
2656
|
schema:
|
|
2177
2657
|
type: string
|
|
2178
2658
|
format: uuid
|
|
2659
|
+
description: Asset instance unique identifier
|
|
2179
2660
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2180
2661
|
- in: query
|
|
2181
2662
|
name: temporal_entity_id
|
|
2182
|
-
required:
|
|
2663
|
+
required: false
|
|
2183
2664
|
schema:
|
|
2184
2665
|
type: string
|
|
2185
2666
|
format: uuid
|
|
2186
|
-
|
|
2667
|
+
description: Filter by temporal entity
|
|
2668
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2187
2669
|
- in: query
|
|
2188
2670
|
name: output_type_id
|
|
2189
|
-
required:
|
|
2671
|
+
required: false
|
|
2190
2672
|
schema:
|
|
2191
2673
|
type: string
|
|
2192
2674
|
format: uuid
|
|
2193
|
-
|
|
2675
|
+
description: Filter by output type
|
|
2676
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2194
2677
|
- in: query
|
|
2195
2678
|
name: task_type_id
|
|
2196
|
-
required:
|
|
2679
|
+
required: false
|
|
2197
2680
|
schema:
|
|
2198
2681
|
type: string
|
|
2199
2682
|
format: uuid
|
|
2200
|
-
|
|
2683
|
+
description: Filter by task type
|
|
2684
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
2201
2685
|
- in: query
|
|
2202
2686
|
name: file_status_id
|
|
2203
|
-
required:
|
|
2687
|
+
required: false
|
|
2204
2688
|
schema:
|
|
2205
2689
|
type: string
|
|
2206
2690
|
format: uuid
|
|
2207
|
-
|
|
2691
|
+
description: Filter by file status
|
|
2692
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
2208
2693
|
- in: query
|
|
2209
2694
|
name: representation
|
|
2210
|
-
required:
|
|
2695
|
+
required: false
|
|
2211
2696
|
schema:
|
|
2212
2697
|
type: string
|
|
2213
|
-
|
|
2698
|
+
description: Filter by representation
|
|
2699
|
+
example: "cache"
|
|
2700
|
+
- in: query
|
|
2701
|
+
name: name
|
|
2702
|
+
required: false
|
|
2703
|
+
schema:
|
|
2704
|
+
type: string
|
|
2705
|
+
description: Filter by file name
|
|
2706
|
+
example: "main"
|
|
2214
2707
|
responses:
|
|
2215
|
-
|
|
2216
|
-
description: All output files for
|
|
2708
|
+
200:
|
|
2709
|
+
description: All output files for the asset instance and temporal entity
|
|
2217
2710
|
content:
|
|
2218
2711
|
application/json:
|
|
2219
2712
|
schema:
|
|
@@ -2224,23 +2717,35 @@ class InstanceOutputFilesResource(Resource):
|
|
|
2224
2717
|
id:
|
|
2225
2718
|
type: string
|
|
2226
2719
|
format: uuid
|
|
2720
|
+
description: Output file unique identifier
|
|
2721
|
+
example: f79f1jf9-hj20-9010-f625-a09008537h80
|
|
2227
2722
|
name:
|
|
2228
2723
|
type: string
|
|
2724
|
+
description: Output file name
|
|
2725
|
+
example: "main"
|
|
2229
2726
|
revision:
|
|
2230
2727
|
type: integer
|
|
2728
|
+
description: Output file revision
|
|
2729
|
+
example: 1
|
|
2231
2730
|
path:
|
|
2232
2731
|
type: string
|
|
2732
|
+
description: Output file path
|
|
2733
|
+
example: "/project/asset/instance/output/main_v001.mp4"
|
|
2233
2734
|
updated_at:
|
|
2234
2735
|
type: string
|
|
2235
2736
|
format: date-time
|
|
2737
|
+
description: Last update timestamp
|
|
2738
|
+
example: "2023-01-01T12:00:00Z"
|
|
2236
2739
|
asset_instance_id:
|
|
2237
2740
|
type: string
|
|
2238
2741
|
format: uuid
|
|
2742
|
+
description: Asset instance identifier
|
|
2743
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2239
2744
|
temporal_entity_id:
|
|
2240
2745
|
type: string
|
|
2241
2746
|
format: uuid
|
|
2242
|
-
|
|
2243
|
-
|
|
2747
|
+
description: Temporal entity identifier
|
|
2748
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2244
2749
|
"""
|
|
2245
2750
|
args = self.get_args(
|
|
2246
2751
|
[
|
|
@@ -2269,14 +2774,17 @@ class InstanceOutputFilesResource(Resource):
|
|
|
2269
2774
|
|
|
2270
2775
|
|
|
2271
2776
|
class FileResource(Resource):
|
|
2777
|
+
|
|
2272
2778
|
@jwt_required()
|
|
2273
2779
|
def get(self, file_id):
|
|
2274
2780
|
"""
|
|
2275
|
-
Get
|
|
2276
|
-
output file.
|
|
2781
|
+
Get file information
|
|
2277
2782
|
---
|
|
2783
|
+
description: Retrieve information about a file that could be either
|
|
2784
|
+
a working file or an output file. Returns detailed file metadata
|
|
2785
|
+
and properties.
|
|
2278
2786
|
tags:
|
|
2279
|
-
|
|
2787
|
+
- Files
|
|
2280
2788
|
parameters:
|
|
2281
2789
|
- in: path
|
|
2282
2790
|
name: file_id
|
|
@@ -2284,10 +2792,11 @@ class FileResource(Resource):
|
|
|
2284
2792
|
schema:
|
|
2285
2793
|
type: string
|
|
2286
2794
|
format: uuid
|
|
2795
|
+
description: File unique identifier
|
|
2287
2796
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2288
2797
|
responses:
|
|
2289
|
-
|
|
2290
|
-
description:
|
|
2798
|
+
200:
|
|
2799
|
+
description: File information retrieved successfully
|
|
2291
2800
|
content:
|
|
2292
2801
|
application/json:
|
|
2293
2802
|
schema:
|
|
@@ -2296,23 +2805,35 @@ class FileResource(Resource):
|
|
|
2296
2805
|
id:
|
|
2297
2806
|
type: string
|
|
2298
2807
|
format: uuid
|
|
2808
|
+
description: File unique identifier
|
|
2809
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2299
2810
|
name:
|
|
2300
2811
|
type: string
|
|
2812
|
+
description: File name
|
|
2813
|
+
example: "main"
|
|
2301
2814
|
path:
|
|
2302
2815
|
type: string
|
|
2816
|
+
description: File path
|
|
2817
|
+
example: "/project/asset/working/main_v001.blend"
|
|
2303
2818
|
revision:
|
|
2304
2819
|
type: integer
|
|
2820
|
+
description: File revision
|
|
2821
|
+
example: 1
|
|
2305
2822
|
updated_at:
|
|
2306
2823
|
type: string
|
|
2307
2824
|
format: date-time
|
|
2825
|
+
description: Last update timestamp
|
|
2826
|
+
example: "2023-01-01T12:00:00Z"
|
|
2308
2827
|
task_id:
|
|
2309
2828
|
type: string
|
|
2310
2829
|
format: uuid
|
|
2830
|
+
description: Task identifier (for working files)
|
|
2831
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2311
2832
|
entity_id:
|
|
2312
2833
|
type: string
|
|
2313
2834
|
format: uuid
|
|
2314
|
-
|
|
2315
|
-
|
|
2835
|
+
description: Entity identifier (for output files)
|
|
2836
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
2316
2837
|
"""
|
|
2317
2838
|
try:
|
|
2318
2839
|
file_dict = files_service.get_working_file(file_id)
|
|
@@ -2328,21 +2849,17 @@ class FileResource(Resource):
|
|
|
2328
2849
|
|
|
2329
2850
|
|
|
2330
2851
|
class SetTreeResource(Resource, ArgsMixin):
|
|
2331
|
-
"""
|
|
2332
|
-
Define a template file to use for given project. Template files are located
|
|
2333
|
-
on the server side. Each template has a name which means that you just have
|
|
2334
|
-
to give a name to "select" the template to link with the project.
|
|
2335
|
-
"""
|
|
2336
2852
|
|
|
2337
2853
|
@jwt_required()
|
|
2338
2854
|
def post(self, project_id):
|
|
2339
2855
|
"""
|
|
2340
|
-
|
|
2856
|
+
Set project file tree
|
|
2341
2857
|
---
|
|
2858
|
+
description: Define a template file to use for a given project.
|
|
2859
|
+
Template files are located on the server side and each template
|
|
2860
|
+
has a name for selection.
|
|
2342
2861
|
tags:
|
|
2343
|
-
|
|
2344
|
-
description: Template files are located on the server side.
|
|
2345
|
-
Each template has a name which means that you just have to give a name to "select" the template to link with the project.
|
|
2862
|
+
- Files
|
|
2346
2863
|
parameters:
|
|
2347
2864
|
- in: path
|
|
2348
2865
|
name: project_id
|
|
@@ -2350,6 +2867,7 @@ class SetTreeResource(Resource, ArgsMixin):
|
|
|
2350
2867
|
schema:
|
|
2351
2868
|
type: string
|
|
2352
2869
|
format: uuid
|
|
2870
|
+
description: Project unique identifier
|
|
2353
2871
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2354
2872
|
requestBody:
|
|
2355
2873
|
required: true
|
|
@@ -2362,23 +2880,34 @@ class SetTreeResource(Resource, ArgsMixin):
|
|
|
2362
2880
|
properties:
|
|
2363
2881
|
tree_name:
|
|
2364
2882
|
type: string
|
|
2883
|
+
description: Name of the file tree template
|
|
2365
2884
|
example: "default"
|
|
2366
2885
|
responses:
|
|
2367
|
-
|
|
2368
|
-
description:
|
|
2886
|
+
200:
|
|
2887
|
+
description: File tree template set successfully
|
|
2369
2888
|
content:
|
|
2370
2889
|
application/json:
|
|
2371
2890
|
schema:
|
|
2372
2891
|
type: object
|
|
2373
2892
|
properties:
|
|
2374
|
-
|
|
2375
|
-
type: boolean
|
|
2376
|
-
example: true
|
|
2377
|
-
tree_name:
|
|
2893
|
+
id:
|
|
2378
2894
|
type: string
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2895
|
+
format: uuid
|
|
2896
|
+
description: Project unique identifier
|
|
2897
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2898
|
+
name:
|
|
2899
|
+
type: string
|
|
2900
|
+
description: Project name
|
|
2901
|
+
example: "My Project"
|
|
2902
|
+
file_tree:
|
|
2903
|
+
type: object
|
|
2904
|
+
description: File tree template configuration
|
|
2905
|
+
example: {"template": "default"}
|
|
2906
|
+
updated_at:
|
|
2907
|
+
type: string
|
|
2908
|
+
format: date-time
|
|
2909
|
+
description: Last update timestamp
|
|
2910
|
+
example: "2023-01-01T12:30:00Z"
|
|
2382
2911
|
"""
|
|
2383
2912
|
args = self.get_args(
|
|
2384
2913
|
[
|
|
@@ -2403,17 +2932,17 @@ class SetTreeResource(Resource, ArgsMixin):
|
|
|
2403
2932
|
|
|
2404
2933
|
|
|
2405
2934
|
class EntityWorkingFilesResource(Resource, ArgsMixin):
|
|
2406
|
-
"""
|
|
2407
|
-
Get all working files for a given entity and possibly a task and a name.
|
|
2408
|
-
"""
|
|
2409
2935
|
|
|
2410
2936
|
@jwt_required()
|
|
2411
2937
|
def get(self, entity_id):
|
|
2412
2938
|
"""
|
|
2413
|
-
Get
|
|
2939
|
+
Get entity working files
|
|
2414
2940
|
---
|
|
2941
|
+
description: Retrieve all working files for a given entity with
|
|
2942
|
+
optional filtering by task and name. Returns complete list of
|
|
2943
|
+
working files with their revisions.
|
|
2415
2944
|
tags:
|
|
2416
|
-
|
|
2945
|
+
- Files
|
|
2417
2946
|
parameters:
|
|
2418
2947
|
- in: path
|
|
2419
2948
|
name: entity_id
|
|
@@ -2421,6 +2950,7 @@ class EntityWorkingFilesResource(Resource, ArgsMixin):
|
|
|
2421
2950
|
schema:
|
|
2422
2951
|
type: string
|
|
2423
2952
|
format: uuid
|
|
2953
|
+
description: Entity unique identifier
|
|
2424
2954
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2425
2955
|
- in: query
|
|
2426
2956
|
name: task_id
|
|
@@ -2428,16 +2958,18 @@ class EntityWorkingFilesResource(Resource, ArgsMixin):
|
|
|
2428
2958
|
schema:
|
|
2429
2959
|
type: string
|
|
2430
2960
|
format: uuid
|
|
2431
|
-
|
|
2961
|
+
description: Filter by task
|
|
2962
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
2432
2963
|
- in: query
|
|
2433
2964
|
name: name
|
|
2434
2965
|
required: false
|
|
2435
2966
|
schema:
|
|
2436
2967
|
type: string
|
|
2437
|
-
|
|
2968
|
+
description: Filter by file name
|
|
2969
|
+
example: "main"
|
|
2438
2970
|
responses:
|
|
2439
|
-
|
|
2440
|
-
description: All working files for
|
|
2971
|
+
200:
|
|
2972
|
+
description: All working files for the entity
|
|
2441
2973
|
content:
|
|
2442
2974
|
application/json:
|
|
2443
2975
|
schema:
|
|
@@ -2448,23 +2980,35 @@ class EntityWorkingFilesResource(Resource, ArgsMixin):
|
|
|
2448
2980
|
id:
|
|
2449
2981
|
type: string
|
|
2450
2982
|
format: uuid
|
|
2983
|
+
description: Working file unique identifier
|
|
2984
|
+
example: c46c8gc6-eg97-6887-c292-79675204e47
|
|
2451
2985
|
name:
|
|
2452
2986
|
type: string
|
|
2987
|
+
description: Working file name
|
|
2988
|
+
example: "main"
|
|
2453
2989
|
revision:
|
|
2454
2990
|
type: integer
|
|
2991
|
+
description: Working file revision
|
|
2992
|
+
example: 1
|
|
2455
2993
|
path:
|
|
2456
2994
|
type: string
|
|
2995
|
+
description: Working file path
|
|
2996
|
+
example: "/project/asset/working/main_v001.blend"
|
|
2457
2997
|
updated_at:
|
|
2458
2998
|
type: string
|
|
2459
2999
|
format: date-time
|
|
3000
|
+
description: Last update timestamp
|
|
3001
|
+
example: "2023-01-01T12:00:00Z"
|
|
2460
3002
|
task_id:
|
|
2461
3003
|
type: string
|
|
2462
3004
|
format: uuid
|
|
3005
|
+
description: Task identifier
|
|
3006
|
+
example: d57d9hd7-fh08-7998-d403-80786315f58
|
|
2463
3007
|
entity_id:
|
|
2464
3008
|
type: string
|
|
2465
3009
|
format: uuid
|
|
2466
|
-
|
|
2467
|
-
|
|
3010
|
+
description: Entity identifier
|
|
3011
|
+
example: e68e0ie8-gi19-8009-e514-91897426g69
|
|
2468
3012
|
"""
|
|
2469
3013
|
args = self.get_args(
|
|
2470
3014
|
[
|
|
@@ -2487,19 +3031,16 @@ class EntityWorkingFilesResource(Resource, ArgsMixin):
|
|
|
2487
3031
|
|
|
2488
3032
|
|
|
2489
3033
|
class GuessFromPathResource(Resource, ArgsMixin):
|
|
2490
|
-
"""
|
|
2491
|
-
Get list of possible project file tree templates matching a file path
|
|
2492
|
-
and data ids corresponding to template tokens.
|
|
2493
|
-
"""
|
|
2494
3034
|
|
|
2495
3035
|
@jwt_required()
|
|
2496
3036
|
def post(self):
|
|
2497
3037
|
"""
|
|
2498
|
-
|
|
2499
|
-
and data ids corresponding to template tokens.
|
|
3038
|
+
Guess file tree template
|
|
2500
3039
|
---
|
|
3040
|
+
description: Get list of possible project file tree templates matching
|
|
3041
|
+
a file path and data ids corresponding to template tokens.
|
|
2501
3042
|
tags:
|
|
2502
|
-
|
|
3043
|
+
- Files
|
|
2503
3044
|
requestBody:
|
|
2504
3045
|
required: true
|
|
2505
3046
|
content:
|
|
@@ -2513,16 +3054,19 @@ class GuessFromPathResource(Resource, ArgsMixin):
|
|
|
2513
3054
|
project_id:
|
|
2514
3055
|
type: string
|
|
2515
3056
|
format: uuid
|
|
3057
|
+
description: Project unique identifier
|
|
2516
3058
|
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2517
3059
|
file_path:
|
|
2518
3060
|
type: string
|
|
3061
|
+
description: File path to analyze
|
|
2519
3062
|
example: "/project/asset/working/main_v001.blend"
|
|
2520
3063
|
sep:
|
|
2521
3064
|
type: string
|
|
3065
|
+
description: Path separator
|
|
2522
3066
|
default: /
|
|
2523
|
-
example: /
|
|
3067
|
+
example: "/"
|
|
2524
3068
|
responses:
|
|
2525
|
-
|
|
3069
|
+
200:
|
|
2526
3070
|
description: List of possible project file tree templates matching the file path
|
|
2527
3071
|
content:
|
|
2528
3072
|
application/json:
|
|
@@ -2536,20 +3080,27 @@ class GuessFromPathResource(Resource, ArgsMixin):
|
|
|
2536
3080
|
properties:
|
|
2537
3081
|
template:
|
|
2538
3082
|
type: string
|
|
3083
|
+
description: Template name
|
|
2539
3084
|
example: "default"
|
|
2540
3085
|
confidence:
|
|
2541
3086
|
type: number
|
|
3087
|
+
description: Confidence score
|
|
2542
3088
|
example: 0.95
|
|
2543
3089
|
data:
|
|
2544
3090
|
type: object
|
|
3091
|
+
description: Extracted data from path
|
|
2545
3092
|
properties:
|
|
2546
3093
|
project_id:
|
|
2547
3094
|
type: string
|
|
2548
3095
|
format: uuid
|
|
3096
|
+
description: Project identifier
|
|
3097
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
2549
3098
|
entity_id:
|
|
2550
3099
|
type: string
|
|
2551
3100
|
format: uuid
|
|
2552
|
-
|
|
3101
|
+
description: Entity identifier
|
|
3102
|
+
example: b35b7fb5-df86-5776-b181-68564193d36
|
|
3103
|
+
400:
|
|
2553
3104
|
description: Invalid project ID or file path
|
|
2554
3105
|
"""
|
|
2555
3106
|
data = self.get_arguments()
|