zou 0.20.81__py3-none-any.whl → 0.20.83__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.
@@ -18,26 +18,58 @@ class CastingResource(Resource):
18
18
  @jwt_required()
19
19
  def get(self, project_id, entity_id):
20
20
  """
21
- Resource to retrieve the casting of a given entity.
21
+ Get entity casting
22
22
  ---
23
+ description: Retrieve the casting information for a specific entity showing which assets are linked to it.
23
24
  tags:
24
25
  - Breakdown
25
26
  parameters:
26
27
  - in: path
27
28
  name: project_id
28
- required: True
29
+ required: true
29
30
  type: string
30
31
  format: uuid
31
32
  example: a24a6ea4-ce75-4665-a070-57453082c25
33
+ description: Unique identifier of the project
32
34
  - in: path
33
35
  name: entity_id
34
- required: True
36
+ required: true
35
37
  type: string
36
38
  format: uuid
37
39
  example: a24a6ea4-ce75-4665-a070-57453082c25
40
+ description: Unique identifier of the entity
38
41
  responses:
39
- 200:
40
- description: Casting of given entity
42
+ 200:
43
+ description: Entity casting information successfully retrieved
44
+ content:
45
+ application/json:
46
+ schema:
47
+ type: object
48
+ properties:
49
+ entity_id:
50
+ type: string
51
+ format: uuid
52
+ description: Entity unique identifier
53
+ example: a24a6ea4-ce75-4665-a070-57453082c25
54
+ casting:
55
+ type: array
56
+ items:
57
+ type: object
58
+ properties:
59
+ id:
60
+ type: string
61
+ format: uuid
62
+ description: Casting entry unique identifier
63
+ example: b35b7fb5-df86-5776-b181-68564193d36
64
+ asset_id:
65
+ type: string
66
+ format: uuid
67
+ description: Asset identifier
68
+ example: c46c8gc6-eg97-6887-c292-79675204e47
69
+ asset_name:
70
+ type: string
71
+ description: Asset name
72
+ example: "Main Character"
41
73
  """
42
74
  user_service.check_project_access(project_id)
43
75
  return breakdown_service.get_casting(entity_id)
@@ -45,26 +77,80 @@ class CastingResource(Resource):
45
77
  @jwt_required()
46
78
  def put(self, project_id, entity_id):
47
79
  """
48
- Resource to allow the modification of assets linked to an entity.
80
+ Update entity casting
49
81
  ---
82
+ description: Modify the casting relationships for a specific entity by updating which assets are linked to it.
50
83
  tags:
51
84
  - Breakdown
52
85
  parameters:
53
86
  - in: path
54
87
  name: project_id
55
- required: True
88
+ required: true
56
89
  type: string
57
90
  format: uuid
58
91
  example: a24a6ea4-ce75-4665-a070-57453082c25
92
+ description: Unique identifier of the project
59
93
  - in: path
60
94
  name: entity_id
61
- required: True
95
+ required: true
62
96
  type: string
63
97
  format: uuid
64
98
  example: a24a6ea4-ce75-4665-a070-57453082c25
99
+ description: Unique identifier of the entity
100
+ requestBody:
101
+ required: true
102
+ content:
103
+ application/json:
104
+ schema:
105
+ type: object
106
+ description: Casting data to update
107
+ properties:
108
+ casting:
109
+ type: array
110
+ items:
111
+ type: object
112
+ properties:
113
+ asset_id:
114
+ type: string
115
+ format: uuid
116
+ description: Asset identifier to link
117
+ example: c46c8gc6-eg97-6887-c292-79675204e47
118
+ asset_name:
119
+ type: string
120
+ description: Asset name
121
+ example: "Main Character"
65
122
  responses:
66
- 200:
67
- description: Modification of assets linked to an entity
123
+ 200:
124
+ description: Entity casting successfully updated
125
+ content:
126
+ application/json:
127
+ schema:
128
+ type: object
129
+ properties:
130
+ entity_id:
131
+ type: string
132
+ format: uuid
133
+ description: Entity unique identifier
134
+ example: a24a6ea4-ce75-4665-a070-57453082c25
135
+ casting:
136
+ type: array
137
+ items:
138
+ type: object
139
+ properties:
140
+ id:
141
+ type: string
142
+ format: uuid
143
+ description: Casting entry unique identifier
144
+ example: b35b7fb5-df86-5776-b181-68564193d36
145
+ asset_id:
146
+ type: string
147
+ format: uuid
148
+ description: Asset identifier
149
+ example: c46c8gc6-eg97-6887-c292-79675204e47
150
+ asset_name:
151
+ type: string
152
+ description: Asset name
153
+ example: "Main Character"
68
154
  """
69
155
  casting = request.json
70
156
  user_service.check_manager_project_access(project_id)
@@ -75,20 +161,52 @@ class EpisodesCastingResource(Resource):
75
161
  @jwt_required()
76
162
  def get(self, project_id):
77
163
  """
78
- Resource to retrieve the casting of episodes.
164
+ Get episodes casting
79
165
  ---
166
+ description: Retrieve the casting information for all episodes in a specific project.
80
167
  tags:
81
168
  - Breakdown
82
169
  parameters:
83
170
  - in: path
84
171
  name: project_id
85
- required: True
172
+ required: true
86
173
  type: string
87
174
  format: uuid
88
175
  example: a24a6ea4-ce75-4665-a070-57453082c25
176
+ description: Unique identifier of the project
89
177
  responses:
90
- 200:
91
- description: Casting of episodes
178
+ 200:
179
+ description: Episodes casting information successfully retrieved
180
+ content:
181
+ application/json:
182
+ schema:
183
+ type: array
184
+ items:
185
+ type: object
186
+ properties:
187
+ episode_id:
188
+ type: string
189
+ format: uuid
190
+ description: Episode unique identifier
191
+ example: d57d9hd7-fh08-7998-d403-80786315f58
192
+ episode_name:
193
+ type: string
194
+ description: Episode name
195
+ example: "Episode 01"
196
+ casting:
197
+ type: array
198
+ items:
199
+ type: object
200
+ properties:
201
+ asset_id:
202
+ type: string
203
+ format: uuid
204
+ description: Asset identifier
205
+ example: c46c8gc6-eg97-6887-c292-79675204e47
206
+ asset_name:
207
+ type: string
208
+ description: Asset name
209
+ example: "Main Character"
92
210
  """
93
211
  user_service.check_project_access(project_id)
94
212
  return breakdown_service.get_production_episodes_casting(project_id)
@@ -98,26 +216,59 @@ class EpisodeSequenceAllCastingResource(Resource):
98
216
  @jwt_required()
99
217
  def get(self, project_id, episode_id):
100
218
  """
101
- Resource to retrieve the casting of shots from given episode.
219
+ Get episode shots casting
102
220
  ---
221
+ description: Retrieve the casting information for all shots from a specific episode.
103
222
  tags:
104
223
  - Breakdown
105
224
  parameters:
106
225
  - in: path
107
226
  name: project_id
108
- required: True
227
+ required: true
109
228
  type: string
110
229
  format: uuid
111
230
  example: a24a6ea4-ce75-4665-a070-57453082c25
231
+ description: Unique identifier of the project
112
232
  - in: path
113
233
  name: episode_id
114
- required: True
234
+ required: true
115
235
  type: string
116
236
  format: uuid
117
- example: a24a6ea4-ce75-4665-a070-57453082c25
237
+ example: d57d9hd7-fh08-7998-d403-80786315f58
238
+ description: Unique identifier of the episode
118
239
  responses:
119
- 200:
120
- description: Casting for all shots from given episode.
240
+ 200:
241
+ description: Episode shots casting information successfully retrieved
242
+ content:
243
+ application/json:
244
+ schema:
245
+ type: array
246
+ items:
247
+ type: object
248
+ properties:
249
+ shot_id:
250
+ type: string
251
+ format: uuid
252
+ description: Shot unique identifier
253
+ example: e68e0ie8-gi19-8009-e514-91897426g69
254
+ shot_name:
255
+ type: string
256
+ description: Shot name
257
+ example: "SH001"
258
+ casting:
259
+ type: array
260
+ items:
261
+ type: object
262
+ properties:
263
+ asset_id:
264
+ type: string
265
+ format: uuid
266
+ description: Asset identifier
267
+ example: c46c8gc6-eg97-6887-c292-79675204e47
268
+ asset_name:
269
+ type: string
270
+ description: Asset name
271
+ example: "Main Character"
121
272
  """
122
273
  user_service.check_project_access(project_id)
123
274
  return breakdown_service.get_all_sequences_casting(
@@ -129,21 +280,61 @@ class SequenceAllCastingResource(Resource):
129
280
  @jwt_required()
130
281
  def get(self, project_id):
131
282
  """
132
- Resource to retrieve the casting of shots from all sequences of given
133
- project.
283
+ Get project shots casting
134
284
  ---
285
+ description: Retrieve the casting information for all shots from all sequences in a specific project.
135
286
  tags:
136
287
  - Breakdown
137
288
  parameters:
138
289
  - in: path
139
290
  name: project_id
140
- required: True
291
+ required: true
141
292
  type: string
142
293
  format: uuid
143
294
  example: a24a6ea4-ce75-4665-a070-57453082c25
295
+ description: Unique identifier of the project
144
296
  responses:
145
- 200:
146
- description: Casting for all shots from given project.
297
+ 200:
298
+ description: Project shots casting information successfully retrieved
299
+ content:
300
+ application/json:
301
+ schema:
302
+ type: array
303
+ items:
304
+ type: object
305
+ properties:
306
+ shot_id:
307
+ type: string
308
+ format: uuid
309
+ description: Shot unique identifier
310
+ example: e68e0ie8-gi19-8009-e514-91897426g69
311
+ shot_name:
312
+ type: string
313
+ description: Shot name
314
+ example: "SH001"
315
+ sequence_id:
316
+ type: string
317
+ format: uuid
318
+ description: Sequence identifier
319
+ example: f79f1jf9-hj20-9110-f625-02908537h70
320
+ sequence_name:
321
+ type: string
322
+ description: Sequence name
323
+ example: "SEQ01"
324
+ casting:
325
+ type: array
326
+ items:
327
+ type: object
328
+ properties:
329
+ asset_id:
330
+ type: string
331
+ format: uuid
332
+ description: Asset identifier
333
+ example: c46c8gc6-eg97-6887-c292-79675204e47
334
+ asset_name:
335
+ type: string
336
+ description: Asset name
337
+ example: "Main Character"
147
338
  """
148
339
  user_service.check_project_access(project_id)
149
340
  return breakdown_service.get_all_sequences_casting(project_id)
@@ -153,26 +344,64 @@ class SequenceCastingResource(Resource):
153
344
  @jwt_required()
154
345
  def get(self, project_id, sequence_id):
155
346
  """
156
- Resource to retrieve the casting of shots from given sequence.
347
+ Get sequence shots casting
157
348
  ---
349
+ description: Retrieve the casting information for all shots from a specific sequence.
158
350
  tags:
159
351
  - Breakdown
160
352
  parameters:
161
353
  - in: path
162
354
  name: project_id
163
- required: True
355
+ required: true
164
356
  type: string
165
357
  format: uuid
166
358
  example: a24a6ea4-ce75-4665-a070-57453082c25
359
+ description: Unique identifier of the project
167
360
  - in: path
168
361
  name: sequence_id
169
- required: True
362
+ required: true
170
363
  type: string
171
364
  format: uuid
172
- example: a24a6ea4-ce75-4665-a070-57453082c25
365
+ example: f79f1jf9-hj20-9110-f625-02908537h70
366
+ description: Unique identifier of the sequence
173
367
  responses:
174
- 200:
175
- description: Casting of shots from given sequence
368
+ 200:
369
+ description: Sequence shots casting information successfully retrieved
370
+ content:
371
+ application/json:
372
+ schema:
373
+ type: array
374
+ items:
375
+ type: object
376
+ properties:
377
+ shot_id:
378
+ type: string
379
+ format: uuid
380
+ description: Shot unique identifier
381
+ example: e68e0ie8-gi19-8009-e514-91897426g69
382
+ shot_name:
383
+ type: string
384
+ description: Shot name
385
+ example: "SH001"
386
+ sequence_id:
387
+ type: string
388
+ format: uuid
389
+ description: Sequence identifier
390
+ example: f79f1jf9-hj20-9110-f625-02908537h70
391
+ casting:
392
+ type: array
393
+ items:
394
+ type: object
395
+ properties:
396
+ asset_id:
397
+ type: string
398
+ format: uuid
399
+ description: Asset identifier
400
+ example: c46c8gc6-eg97-6887-c292-79675204e47
401
+ asset_name:
402
+ type: string
403
+ description: Asset name
404
+ example: "Main Character"
176
405
  """
177
406
  user_service.check_project_access(project_id)
178
407
  shots_service.get_sequence(sequence_id)
@@ -183,26 +412,68 @@ class AssetTypeCastingResource(Resource):
183
412
  @jwt_required()
184
413
  def get(self, project_id, asset_type_id):
185
414
  """
186
- Resource to retrieve the casting of assets from given asset type.
415
+ Get asset type casting
187
416
  ---
417
+ description: Retrieve the casting information for all assets of a specific asset type in a project.
188
418
  tags:
189
419
  - Breakdown
190
420
  parameters:
191
421
  - in: path
192
422
  name: project_id
193
- required: True
423
+ required: true
194
424
  type: string
195
425
  format: uuid
196
426
  example: a24a6ea4-ce75-4665-a070-57453082c25
427
+ description: Unique identifier of the project
197
428
  - in: path
198
429
  name: asset_type_id
199
- required: True
430
+ required: true
200
431
  type: string
201
432
  format: uuid
202
- example: a24a6ea4-ce75-4665-a070-57453082c25
433
+ example: g80g2kg0-ik31-0221-g736-13019648i81
434
+ description: Unique identifier of the asset type
203
435
  responses:
204
- 200:
205
- description: Casting of assets from given asset type
436
+ 200:
437
+ description: Asset type casting information successfully retrieved
438
+ content:
439
+ application/json:
440
+ schema:
441
+ type: array
442
+ items:
443
+ type: object
444
+ properties:
445
+ asset_id:
446
+ type: string
447
+ format: uuid
448
+ description: Asset unique identifier
449
+ example: c46c8gc6-eg97-6887-c292-79675204e47
450
+ asset_name:
451
+ type: string
452
+ description: Asset name
453
+ example: "Main Character"
454
+ asset_type_id:
455
+ type: string
456
+ format: uuid
457
+ description: Asset type identifier
458
+ example: g80g2kg0-ik31-0221-g736-13019648i81
459
+ casting:
460
+ type: array
461
+ items:
462
+ type: object
463
+ properties:
464
+ entity_id:
465
+ type: string
466
+ format: uuid
467
+ description: Entity identifier
468
+ example: e68e0ie8-gi19-8009-e514-91897426g69
469
+ entity_name:
470
+ type: string
471
+ description: Entity name
472
+ example: "SH001"
473
+ entity_type:
474
+ type: string
475
+ description: Entity type (shot/sequence)
476
+ example: "shot"
206
477
  """
207
478
  user_service.check_project_access(project_id)
208
479
  assets_service.get_asset_type(asset_type_id)
@@ -215,20 +486,52 @@ class ShotAssetInstancesResource(Resource, ArgsMixin):
215
486
  @jwt_required()
216
487
  def get(self, shot_id):
217
488
  """
218
- Retrieve all asset instances linked to shot.
489
+ Get shot asset instances
219
490
  ---
491
+ description: Retrieve all asset instances that are linked to a specific shot.
220
492
  tags:
221
493
  - Breakdown
222
494
  parameters:
223
495
  - in: path
224
496
  name: shot_id
225
- required: True
497
+ required: true
226
498
  type: string
227
499
  format: uuid
228
- example: a24a6ea4-ce75-4665-a070-57453082c25
500
+ example: e68e0ie8-gi19-8009-e514-91897426g69
501
+ description: Unique identifier of the shot
229
502
  responses:
230
- 200:
231
- description: All assets linked to shot
503
+ 200:
504
+ description: Shot asset instances successfully retrieved
505
+ content:
506
+ application/json:
507
+ schema:
508
+ type: array
509
+ items:
510
+ type: object
511
+ properties:
512
+ id:
513
+ type: string
514
+ format: uuid
515
+ description: Asset instance unique identifier
516
+ example: h91h3lh1-jl42-1332-h847-24120759j92
517
+ asset_id:
518
+ type: string
519
+ format: uuid
520
+ description: Asset identifier
521
+ example: c46c8gc6-eg97-6887-c292-79675204e47
522
+ shot_id:
523
+ type: string
524
+ format: uuid
525
+ description: Shot identifier
526
+ example: e68e0ie8-gi19-8009-e514-91897426g69
527
+ number:
528
+ type: string
529
+ description: Instance number
530
+ example: "001"
531
+ description:
532
+ type: string
533
+ description: Instance description
534
+ example: "Main character instance"
232
535
  """
233
536
  shot = shots_service.get_shot(shot_id)
234
537
  user_service.check_project_access(shot["project_id"])
@@ -237,20 +540,65 @@ class ShotAssetInstancesResource(Resource, ArgsMixin):
237
540
  @jwt_required()
238
541
  def post(self, shot_id):
239
542
  """
240
- Add an asset instance to given shot.
543
+ Add shot asset instance
241
544
  ---
545
+ description: Add an asset instance to a specific shot.
242
546
  tags:
243
547
  - Breakdown
244
548
  parameters:
245
549
  - in: path
246
550
  name: shot_id
247
- required: True
551
+ required: true
248
552
  type: string
249
553
  format: uuid
250
- example: a24a6ea4-ce75-4665-a070-57453082c25
554
+ example: e68e0ie8-gi19-8009-e514-91897426g69
555
+ description: Unique identifier of the shot
556
+ requestBody:
557
+ required: true
558
+ content:
559
+ application/json:
560
+ schema:
561
+ type: object
562
+ required:
563
+ - asset_instance_id
564
+ properties:
565
+ asset_instance_id:
566
+ type: string
567
+ format: uuid
568
+ description: Asset instance identifier to add
569
+ example: h91h3lh1-jl42-1332-h847-24120759j92
251
570
  responses:
252
- 201:
253
- description: Asset instance added to given shot
571
+ 201:
572
+ description: Asset instance successfully added to shot
573
+ content:
574
+ application/json:
575
+ schema:
576
+ type: object
577
+ properties:
578
+ id:
579
+ type: string
580
+ format: uuid
581
+ description: Shot unique identifier
582
+ example: e68e0ie8-gi19-8009-e514-91897426g69
583
+ name:
584
+ type: string
585
+ description: Shot name
586
+ example: "SH001"
587
+ asset_instances:
588
+ type: array
589
+ items:
590
+ type: object
591
+ properties:
592
+ id:
593
+ type: string
594
+ format: uuid
595
+ description: Asset instance unique identifier
596
+ example: h91h3lh1-jl42-1332-h847-24120759j92
597
+ asset_id:
598
+ type: string
599
+ format: uuid
600
+ description: Asset identifier
601
+ example: c46c8gc6-eg97-6887-c292-79675204e47
254
602
  """
255
603
  args = self.get_args([("asset_instance_id", None, True)])
256
604
 
@@ -266,26 +614,29 @@ class RemoveShotAssetInstanceResource(Resource, ArgsMixin):
266
614
  @jwt_required()
267
615
  def delete(self, shot_id, asset_instance_id):
268
616
  """
269
- Remove an asset instance from given shot.
617
+ Remove shot asset instance
270
618
  ---
619
+ description: Remove an asset instance from a specific shot.
271
620
  tags:
272
621
  - Breakdown
273
622
  parameters:
274
623
  - in: path
275
624
  name: shot_id
276
- required: True
625
+ required: true
277
626
  type: string
278
627
  format: uuid
279
- example: a24a6ea4-ce75-4665-a070-57453082c25
628
+ example: e68e0ie8-gi19-8009-e514-91897426g69
629
+ description: Unique identifier of the shot
280
630
  - in: path
281
631
  name: asset_instance_id
282
- required: True
632
+ required: true
283
633
  type: string
284
634
  format: uuid
285
- example: a24a6ea4-ce75-4665-a070-57453082c25
635
+ example: h91h3lh1-jl42-1332-h847-24120759j92
636
+ description: Unique identifier of the asset instance
286
637
  responses:
287
- 204:
288
- description: Asset instance removed from given shot
638
+ 204:
639
+ description: Asset instance successfully removed from shot
289
640
  """
290
641
  shot = shots_service.get_shot(shot_id)
291
642
  user_service.check_project_access(shot["project_id"])
@@ -299,20 +650,52 @@ class SceneAssetInstancesResource(Resource, ArgsMixin):
299
650
  @jwt_required()
300
651
  def get(self, scene_id):
301
652
  """
302
- Retrieve all asset instances linked to scene.
653
+ Get scene asset instances
303
654
  ---
655
+ description: Retrieve all asset instances that are linked to a specific scene.
304
656
  tags:
305
657
  - Breakdown
306
658
  parameters:
307
659
  - in: path
308
660
  name: scene_id
309
- required: True
661
+ required: true
310
662
  type: string
311
663
  format: uuid
312
- example: a24a6ea4-ce75-4665-a070-57453082c25
664
+ example: i02i4mi2-km53-2443-i958-35231870k03
665
+ description: Unique identifier of the scene
313
666
  responses:
314
- 200:
315
- description: All asset instances linked to given scene
667
+ 200:
668
+ description: Scene asset instances successfully retrieved
669
+ content:
670
+ application/json:
671
+ schema:
672
+ type: array
673
+ items:
674
+ type: object
675
+ properties:
676
+ id:
677
+ type: string
678
+ format: uuid
679
+ description: Asset instance unique identifier
680
+ example: j13j5nj3-ln64-3554-j069-46342981l14
681
+ asset_id:
682
+ type: string
683
+ format: uuid
684
+ description: Asset identifier
685
+ example: c46c8gc6-eg97-6887-c292-79675204e47
686
+ scene_id:
687
+ type: string
688
+ format: uuid
689
+ description: Scene identifier
690
+ example: i02i4mi2-km53-2443-i958-35231870k03
691
+ number:
692
+ type: string
693
+ description: Instance number
694
+ example: "001"
695
+ description:
696
+ type: string
697
+ description: Instance description
698
+ example: "Main character instance"
316
699
  """
317
700
  scene = shots_service.get_scene(scene_id)
318
701
  user_service.check_project_access(scene["project_id"])
@@ -321,20 +704,68 @@ class SceneAssetInstancesResource(Resource, ArgsMixin):
321
704
  @jwt_required()
322
705
  def post(self, scene_id):
323
706
  """
324
- Create an asset instance on given scene.
707
+ Create scene asset instance
325
708
  ---
709
+ description: Create an asset instance on a specific scene.
326
710
  tags:
327
711
  - Breakdown
328
712
  parameters:
329
713
  - in: path
330
714
  name: scene_id
331
- required: True
715
+ required: true
332
716
  type: string
333
717
  format: uuid
334
- example: a24a6ea4-ce75-4665-a070-57453082c25
718
+ example: i02i4mi2-km53-2443-i958-35231870k03
719
+ description: Unique identifier of the scene
720
+ requestBody:
721
+ required: true
722
+ content:
723
+ application/json:
724
+ schema:
725
+ type: object
726
+ required:
727
+ - asset_id
728
+ properties:
729
+ asset_id:
730
+ type: string
731
+ format: uuid
732
+ description: Asset identifier to create instance from
733
+ example: c46c8gc6-eg97-6887-c292-79675204e47
734
+ description:
735
+ type: string
736
+ description: Instance description
737
+ example: "Main character instance"
335
738
  responses:
336
- 201:
337
- description: Asset instances created on given scene
739
+ 201:
740
+ description: Asset instance successfully created on scene
741
+ content:
742
+ application/json:
743
+ schema:
744
+ type: object
745
+ properties:
746
+ id:
747
+ type: string
748
+ format: uuid
749
+ description: Asset instance unique identifier
750
+ example: j13j5nj3-ln64-3554-j069-46342981l14
751
+ asset_id:
752
+ type: string
753
+ format: uuid
754
+ description: Asset identifier
755
+ example: c46c8gc6-eg97-6887-c292-79675204e47
756
+ scene_id:
757
+ type: string
758
+ format: uuid
759
+ description: Scene identifier
760
+ example: i02i4mi2-km53-2443-i958-35231870k03
761
+ number:
762
+ type: string
763
+ description: Instance number
764
+ example: "001"
765
+ description:
766
+ type: string
767
+ description: Instance description
768
+ example: "Main character instance"
338
769
  """
339
770
  args = self.get_args(
340
771
  [("asset_id", None, True), ("description", None, False)]
@@ -352,20 +783,52 @@ class SceneCameraInstancesResource(Resource):
352
783
  @jwt_required()
353
784
  def get(self, scene_id):
354
785
  """
355
- Retrieve all camera instances linked to scene.
786
+ Get scene camera instances
356
787
  ---
788
+ description: Retrieve all camera instances that are linked to a specific scene.
357
789
  tags:
358
790
  - Breakdown
359
791
  parameters:
360
792
  - in: path
361
793
  name: scene_id
362
- required: True
794
+ required: true
363
795
  type: string
364
796
  format: uuid
365
- example: a24a6ea4-ce75-4665-a070-57453082c25
797
+ example: i02i4mi2-km53-2443-i958-35231870k03
798
+ description: Unique identifier of the scene
366
799
  responses:
367
- 201:
368
- description: All camera instances linked to scene
800
+ 200:
801
+ description: Scene camera instances successfully retrieved
802
+ content:
803
+ application/json:
804
+ schema:
805
+ type: array
806
+ items:
807
+ type: object
808
+ properties:
809
+ id:
810
+ type: string
811
+ format: uuid
812
+ description: Camera instance unique identifier
813
+ example: k24k6ok4-mo75-4665-k180-57453082m25
814
+ camera_id:
815
+ type: string
816
+ format: uuid
817
+ description: Camera identifier
818
+ example: l35l7pl5-np86-5776-l291-68564193n36
819
+ scene_id:
820
+ type: string
821
+ format: uuid
822
+ description: Scene identifier
823
+ example: i02i4mi2-km53-2443-i958-35231870k03
824
+ number:
825
+ type: string
826
+ description: Instance number
827
+ example: "001"
828
+ description:
829
+ type: string
830
+ description: Instance description
831
+ example: "Main camera instance"
369
832
  """
370
833
  scene = shots_service.get_scene(scene_id)
371
834
  user_service.check_project_access(scene["project_id"])
@@ -376,43 +839,68 @@ class ProjectEntityLinksResource(Resource, ArgsMixin):
376
839
  @jwt_required()
377
840
  def get(self, project_id):
378
841
  """
379
- Retrieve all entity links related to given project.
380
-
381
- Results can be paginated using page and limit query parameters. If you
382
- prefer a more accurate pagination, you can use and
383
- cursor_created_at to get the next page.
842
+ Get project entity links
384
843
  ---
844
+ description: Retrieve all entity links related to a specific project. Results can be paginated using page and limit query parameters. If you prefer a more accurate pagination, you can use cursor_created_at to get the next page. It's mainly used for synchronisation purpose.
385
845
  tags:
386
846
  - Breakdown
387
- description: It's mainly used for synchronisation purpose.
388
847
  parameters:
389
848
  - in: path
390
849
  name: project_id
391
- required: True
850
+ required: true
392
851
  type: string
393
852
  format: uuid
394
853
  example: a24a6ea4-ce75-4665-a070-57453082c25
854
+ description: Unique identifier of the project
395
855
  - in: query
396
856
  name: page
397
- required: False
398
- type: string
399
- format: Number
857
+ required: false
858
+ type: integer
400
859
  example: 2
860
+ description: Page number for pagination
401
861
  - in: query
402
862
  name: limit
403
- required: False
404
- type: string
405
- format: Number
863
+ required: false
864
+ type: integer
406
865
  example: 100
866
+ description: Number of items per page
407
867
  - in: query
408
868
  name: cursor_created_at
409
- required: False
869
+ required: false
410
870
  type: string
411
- format: Datetime
412
- example: 2020-01-01T00:00:00
871
+ format: date-time
872
+ example: "2020-01-01T00:00:00"
873
+ description: Cursor for pagination based on creation date
413
874
  responses:
414
- 200:
415
- description: All entity links related to given project
875
+ 200:
876
+ description: Project entity links successfully retrieved
877
+ content:
878
+ application/json:
879
+ schema:
880
+ type: array
881
+ items:
882
+ type: object
883
+ properties:
884
+ id:
885
+ type: string
886
+ format: uuid
887
+ description: Entity link unique identifier
888
+ example: m46m8qm6-oq97-6887-m403-80786315o47
889
+ entity_in_id:
890
+ type: string
891
+ format: uuid
892
+ description: Source entity identifier
893
+ example: c46c8gc6-eg97-6887-c292-79675204e47
894
+ entity_out_id:
895
+ type: string
896
+ format: uuid
897
+ description: Target entity identifier
898
+ example: d57d9hd7-fh08-7998-d403-80786315f58
899
+ created_at:
900
+ type: string
901
+ format: date-time
902
+ description: Creation timestamp
903
+ example: "2020-01-01T00:00:00"
416
904
  """
417
905
  user_service.check_manager_project_access(project_id)
418
906
  projects_service.get_project(project_id)
@@ -431,27 +919,29 @@ class ProjectEntityLinkResource(Resource):
431
919
  @jwt_required()
432
920
  def delete(self, project_id, entity_link_id):
433
921
  """
434
- Delete given entity link.
922
+ Delete entity link
435
923
  ---
924
+ description: Delete a specific entity link. It's mainly used for synchronisation purpose.
436
925
  tags:
437
926
  - Breakdown
438
- description: It's mainly used for synchronisation purpose.
439
927
  parameters:
440
928
  - in: path
441
929
  name: project_id
442
- required: True
930
+ required: true
443
931
  type: string
444
932
  format: uuid
445
933
  example: a24a6ea4-ce75-4665-a070-57453082c25
934
+ description: Unique identifier of the project
446
935
  - in: path
447
936
  name: entity_link_id
448
- required: True
937
+ required: true
449
938
  type: string
450
939
  format: uuid
451
- example: a24a6ea4-ce75-4665-a070-57453082c25
940
+ example: m46m8qm6-oq97-6887-m403-80786315o47
941
+ description: Unique identifier of the entity link
452
942
  responses:
453
- 200:
454
- description: Entity link deleted
943
+ 200:
944
+ description: Entity link successfully deleted
455
945
  """
456
946
  user_service.check_manager_project_access(project_id)
457
947
  return entities_service.remove_entity_link(entity_link_id)