zou 0.20.82__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.
Files changed (114) hide show
  1. zou/__init__.py +1 -1
  2. zou/app/blueprints/assets/resources.py +1060 -153
  3. zou/app/blueprints/auth/resources.py +368 -238
  4. zou/app/blueprints/breakdown/resources.py +584 -94
  5. zou/app/blueprints/chats/resources.py +176 -37
  6. zou/app/blueprints/comments/resources.py +409 -150
  7. zou/app/blueprints/concepts/resources.py +443 -63
  8. zou/app/blueprints/crud/asset_instance.py +272 -0
  9. zou/app/blueprints/crud/attachment_file.py +263 -0
  10. zou/app/blueprints/crud/base.py +176 -69
  11. zou/app/blueprints/crud/budget.py +278 -0
  12. zou/app/blueprints/crud/budget_entry.py +269 -0
  13. zou/app/blueprints/crud/chat.py +282 -0
  14. zou/app/blueprints/crud/chat_message.py +286 -0
  15. zou/app/blueprints/crud/comments.py +312 -1
  16. zou/app/blueprints/crud/custom_action.py +268 -0
  17. zou/app/blueprints/crud/day_off.py +298 -0
  18. zou/app/blueprints/crud/department.py +268 -0
  19. zou/app/blueprints/crud/entity.py +297 -3
  20. zou/app/blueprints/crud/entity_link.py +303 -0
  21. zou/app/blueprints/crud/entity_type.py +269 -0
  22. zou/app/blueprints/crud/event.py +197 -0
  23. zou/app/blueprints/crud/file_status.py +268 -0
  24. zou/app/blueprints/crud/hardware_item.py +268 -0
  25. zou/app/blueprints/crud/metadata_descriptor.py +312 -0
  26. zou/app/blueprints/crud/milestone.py +302 -1
  27. zou/app/blueprints/crud/news.py +285 -0
  28. zou/app/blueprints/crud/notification.py +287 -0
  29. zou/app/blueprints/crud/organisation.py +269 -0
  30. zou/app/blueprints/crud/output_file.py +34 -10
  31. zou/app/blueprints/crud/output_type.py +30 -10
  32. zou/app/blueprints/crud/person.py +407 -2
  33. zou/app/blueprints/crud/playlist.py +322 -4
  34. zou/app/blueprints/crud/plugin.py +269 -0
  35. zou/app/blueprints/crud/preview_background_file.py +272 -0
  36. zou/app/blueprints/crud/preview_file.py +280 -9
  37. zou/app/blueprints/crud/production_schedule_version.py +569 -0
  38. zou/app/blueprints/crud/project.py +440 -0
  39. zou/app/blueprints/crud/project_status.py +268 -0
  40. zou/app/blueprints/crud/salary_scale.py +185 -5
  41. zou/app/blueprints/crud/schedule_item.py +305 -0
  42. zou/app/blueprints/crud/search_filter.py +302 -0
  43. zou/app/blueprints/crud/search_filter_group.py +270 -0
  44. zou/app/blueprints/crud/software.py +30 -10
  45. zou/app/blueprints/crud/status_automation.py +296 -2
  46. zou/app/blueprints/crud/studio.py +268 -0
  47. zou/app/blueprints/crud/subscription.py +279 -0
  48. zou/app/blueprints/crud/task.py +325 -5
  49. zou/app/blueprints/crud/task_status.py +301 -0
  50. zou/app/blueprints/crud/task_type.py +283 -0
  51. zou/app/blueprints/crud/time_spent.py +327 -0
  52. zou/app/blueprints/crud/working_file.py +273 -10
  53. zou/app/blueprints/departments/resources.py +302 -68
  54. zou/app/blueprints/edits/resources.py +651 -81
  55. zou/app/blueprints/entities/resources.py +104 -39
  56. zou/app/blueprints/events/resources.py +96 -8
  57. zou/app/blueprints/export/csv/assets.py +15 -5
  58. zou/app/blueprints/export/csv/base.py +12 -3
  59. zou/app/blueprints/export/csv/casting.py +32 -5
  60. zou/app/blueprints/export/csv/edits.py +15 -5
  61. zou/app/blueprints/export/csv/persons.py +24 -0
  62. zou/app/blueprints/export/csv/playlists.py +16 -5
  63. zou/app/blueprints/export/csv/projects.py +23 -0
  64. zou/app/blueprints/export/csv/shots.py +15 -5
  65. zou/app/blueprints/export/csv/task_types.py +23 -0
  66. zou/app/blueprints/export/csv/tasks.py +24 -0
  67. zou/app/blueprints/export/csv/time_spents.py +24 -0
  68. zou/app/blueprints/files/resources.py +928 -377
  69. zou/app/blueprints/index/resources.py +49 -42
  70. zou/app/blueprints/news/resources.py +47 -27
  71. zou/app/blueprints/persons/resources.py +644 -271
  72. zou/app/blueprints/playlists/resources.py +154 -72
  73. zou/app/blueprints/previews/resources.py +473 -228
  74. zou/app/blueprints/projects/__init__.py +5 -0
  75. zou/app/blueprints/projects/resources.py +987 -420
  76. zou/app/blueprints/search/resources.py +44 -32
  77. zou/app/blueprints/shots/resources.py +1338 -88
  78. zou/app/blueprints/source/csv/assets.py +44 -6
  79. zou/app/blueprints/source/csv/casting.py +43 -6
  80. zou/app/blueprints/source/csv/edits.py +47 -9
  81. zou/app/blueprints/source/csv/persons.py +43 -4
  82. zou/app/blueprints/source/csv/shots.py +47 -6
  83. zou/app/blueprints/source/csv/task_type_estimations.py +95 -35
  84. zou/app/blueprints/source/kitsu.py +433 -11
  85. zou/app/blueprints/source/otio.py +215 -20
  86. zou/app/blueprints/source/shotgun/assets.py +146 -0
  87. zou/app/blueprints/source/shotgun/base.py +85 -14
  88. zou/app/blueprints/source/shotgun/episode.py +124 -0
  89. zou/app/blueprints/source/shotgun/import_errors.py +105 -14
  90. zou/app/blueprints/source/shotgun/notes.py +132 -0
  91. zou/app/blueprints/source/shotgun/person.py +163 -0
  92. zou/app/blueprints/source/shotgun/project.py +120 -0
  93. zou/app/blueprints/source/shotgun/scene.py +120 -0
  94. zou/app/blueprints/source/shotgun/sequence.py +134 -0
  95. zou/app/blueprints/source/shotgun/shot.py +166 -0
  96. zou/app/blueprints/source/shotgun/status.py +129 -0
  97. zou/app/blueprints/source/shotgun/steps.py +138 -0
  98. zou/app/blueprints/source/shotgun/tasks.py +199 -0
  99. zou/app/blueprints/source/shotgun/team.py +132 -0
  100. zou/app/blueprints/source/shotgun/versions.py +155 -0
  101. zou/app/blueprints/tasks/resources.py +1197 -308
  102. zou/app/blueprints/user/resources.py +1808 -215
  103. zou/app/models/metadata_descriptor.py +1 -0
  104. zou/app/services/persons_service.py +1 -1
  105. zou/app/services/projects_service.py +45 -1
  106. zou/app/services/time_spents_service.py +1 -1
  107. zou/app/swagger.py +100 -27
  108. zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py +32 -0
  109. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/METADATA +18 -18
  110. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/RECORD +114 -113
  111. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/WHEEL +0 -0
  112. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/entry_points.txt +0 -0
  113. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/licenses/LICENSE +0 -0
  114. {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/top_level.txt +0 -0
@@ -1,3 +1,5 @@
1
+ from flask_jwt_extended import jwt_required
2
+
1
3
  from zou.app.models.notification import Notification
2
4
 
3
5
  from zou.app.blueprints.crud.base import BaseModelResource, BaseModelsResource
@@ -7,7 +9,292 @@ class NotificationsResource(BaseModelsResource):
7
9
  def __init__(self):
8
10
  BaseModelsResource.__init__(self, Notification)
9
11
 
12
+ @jwt_required()
13
+ def get(self):
14
+ """
15
+ Get notifications
16
+ ---
17
+ tags:
18
+ - Crud
19
+ description: Retrieve all notifications. Supports filtering via
20
+ query parameters and pagination.
21
+ parameters:
22
+ - in: query
23
+ name: page
24
+ required: false
25
+ schema:
26
+ type: integer
27
+ example: 1
28
+ description: Page number for pagination
29
+ - in: query
30
+ name: limit
31
+ required: false
32
+ schema:
33
+ type: integer
34
+ example: 50
35
+ description: Number of results per page
36
+ - in: query
37
+ name: relations
38
+ required: false
39
+ schema:
40
+ type: boolean
41
+ default: false
42
+ example: false
43
+ description: Whether to include relations
44
+ responses:
45
+ 200:
46
+ description: Notifications retrieved successfully
47
+ content:
48
+ application/json:
49
+ schema:
50
+ oneOf:
51
+ - type: array
52
+ items:
53
+ type: object
54
+ - type: object
55
+ properties:
56
+ data:
57
+ type: array
58
+ items:
59
+ type: object
60
+ example: []
61
+ total:
62
+ type: integer
63
+ example: 100
64
+ nb_pages:
65
+ type: integer
66
+ example: 2
67
+ limit:
68
+ type: integer
69
+ example: 50
70
+ offset:
71
+ type: integer
72
+ example: 0
73
+ page:
74
+ type: integer
75
+ example: 1
76
+ 400:
77
+ description: Invalid filter format or query error
78
+ """
79
+ return super().get()
80
+
81
+ @jwt_required()
82
+ def post(self):
83
+ """
84
+ Create notification
85
+ ---
86
+ tags:
87
+ - Crud
88
+ description: Create a new notification with data provided in the
89
+ request body. JSON format is expected.
90
+ requestBody:
91
+ required: true
92
+ content:
93
+ application/json:
94
+ schema:
95
+ type: object
96
+ required:
97
+ - person_id
98
+ - comment_id
99
+ properties:
100
+ person_id:
101
+ type: string
102
+ format: uuid
103
+ example: a24a6ea4-ce75-4665-a070-57453082c25
104
+ comment_id:
105
+ type: string
106
+ format: uuid
107
+ example: b24a6ea4-ce75-4665-a070-57453082c25
108
+ read:
109
+ type: boolean
110
+ default: false
111
+ example: false
112
+ responses:
113
+ 201:
114
+ description: Notification created successfully
115
+ content:
116
+ application/json:
117
+ schema:
118
+ type: object
119
+ properties:
120
+ id:
121
+ type: string
122
+ format: uuid
123
+ example: a24a6ea4-ce75-4665-a070-57453082c25
124
+ person_id:
125
+ type: string
126
+ format: uuid
127
+ example: b24a6ea4-ce75-4665-a070-57453082c25
128
+ comment_id:
129
+ type: string
130
+ format: uuid
131
+ example: c24a6ea4-ce75-4665-a070-57453082c25
132
+ read:
133
+ type: boolean
134
+ example: false
135
+ created_at:
136
+ type: string
137
+ format: date-time
138
+ example: "2024-01-15T10:30:00Z"
139
+ updated_at:
140
+ type: string
141
+ format: date-time
142
+ example: "2024-01-15T10:30:00Z"
143
+ 400:
144
+ description: Invalid data format or validation error
145
+ """
146
+ return super().post()
147
+
10
148
 
11
149
  class NotificationResource(BaseModelResource):
12
150
  def __init__(self):
13
151
  BaseModelResource.__init__(self, Notification)
152
+
153
+ @jwt_required()
154
+ def get(self, instance_id):
155
+ """
156
+ Get notification
157
+ ---
158
+ tags:
159
+ - Crud
160
+ description: Retrieve a notification by its ID and return it as
161
+ a JSON object. Supports including relations.
162
+ parameters:
163
+ - in: path
164
+ name: instance_id
165
+ required: true
166
+ schema:
167
+ type: string
168
+ format: uuid
169
+ example: a24a6ea4-ce75-4665-a070-57453082c25
170
+ - in: query
171
+ name: relations
172
+ required: false
173
+ schema:
174
+ type: boolean
175
+ default: true
176
+ example: true
177
+ description: Whether to include relations
178
+ responses:
179
+ 200:
180
+ description: Notification retrieved successfully
181
+ content:
182
+ application/json:
183
+ schema:
184
+ type: object
185
+ properties:
186
+ id:
187
+ type: string
188
+ format: uuid
189
+ example: a24a6ea4-ce75-4665-a070-57453082c25
190
+ person_id:
191
+ type: string
192
+ format: uuid
193
+ example: b24a6ea4-ce75-4665-a070-57453082c25
194
+ comment_id:
195
+ type: string
196
+ format: uuid
197
+ example: c24a6ea4-ce75-4665-a070-57453082c25
198
+ read:
199
+ type: boolean
200
+ example: false
201
+ created_at:
202
+ type: string
203
+ format: date-time
204
+ example: "2024-01-15T10:30:00Z"
205
+ updated_at:
206
+ type: string
207
+ format: date-time
208
+ example: "2024-01-15T10:30:00Z"
209
+ 400:
210
+ description: Invalid ID format or query error
211
+ """
212
+ return super().get(instance_id)
213
+
214
+ @jwt_required()
215
+ def put(self, instance_id):
216
+ """
217
+ Update notification
218
+ ---
219
+ tags:
220
+ - Crud
221
+ description: Update a notification with data provided in the
222
+ request body. JSON format is expected.
223
+ parameters:
224
+ - in: path
225
+ name: instance_id
226
+ required: true
227
+ schema:
228
+ type: string
229
+ format: uuid
230
+ example: a24a6ea4-ce75-4665-a070-57453082c25
231
+ requestBody:
232
+ required: true
233
+ content:
234
+ application/json:
235
+ schema:
236
+ type: object
237
+ properties:
238
+ read:
239
+ type: boolean
240
+ example: true
241
+ responses:
242
+ 200:
243
+ description: Notification updated successfully
244
+ content:
245
+ application/json:
246
+ schema:
247
+ type: object
248
+ properties:
249
+ id:
250
+ type: string
251
+ format: uuid
252
+ example: a24a6ea4-ce75-4665-a070-57453082c25
253
+ person_id:
254
+ type: string
255
+ format: uuid
256
+ example: b24a6ea4-ce75-4665-a070-57453082c25
257
+ comment_id:
258
+ type: string
259
+ format: uuid
260
+ example: c24a6ea4-ce75-4665-a070-57453082c25
261
+ read:
262
+ type: boolean
263
+ example: true
264
+ created_at:
265
+ type: string
266
+ format: date-time
267
+ example: "2024-01-15T10:30:00Z"
268
+ updated_at:
269
+ type: string
270
+ format: date-time
271
+ example: "2024-01-15T11:00:00Z"
272
+ 400:
273
+ description: Invalid data format or validation error
274
+ """
275
+ return super().put(instance_id)
276
+
277
+ @jwt_required()
278
+ def delete(self, instance_id):
279
+ """
280
+ Delete notification
281
+ ---
282
+ tags:
283
+ - Crud
284
+ description: Delete a notification by its ID. Returns empty
285
+ response on success.
286
+ parameters:
287
+ - in: path
288
+ name: instance_id
289
+ required: true
290
+ schema:
291
+ type: string
292
+ format: uuid
293
+ example: a24a6ea4-ce75-4665-a070-57453082c25
294
+ responses:
295
+ 204:
296
+ description: Notification deleted successfully
297
+ 400:
298
+ description: Integrity error or cannot delete
299
+ """
300
+ return super().delete(instance_id)
@@ -1,3 +1,5 @@
1
+ from flask_jwt_extended import jwt_required
2
+
1
3
  from zou.app.models.organisation import Organisation
2
4
  from zou.app.blueprints.crud.base import BaseModelResource, BaseModelsResource
3
5
 
@@ -12,6 +14,130 @@ class OrganisationsResource(BaseModelsResource):
12
14
  def check_read_permissions(self, options=None):
13
15
  return True
14
16
 
17
+ @jwt_required()
18
+ def get(self):
19
+ """
20
+ Get organisations
21
+ ---
22
+ tags:
23
+ - Crud
24
+ description: Retrieve all organisations. Supports filtering via
25
+ query parameters and pagination.
26
+ parameters:
27
+ - in: query
28
+ name: page
29
+ required: false
30
+ schema:
31
+ type: integer
32
+ example: 1
33
+ description: Page number for pagination
34
+ - in: query
35
+ name: limit
36
+ required: false
37
+ schema:
38
+ type: integer
39
+ example: 50
40
+ description: Number of results per page
41
+ - in: query
42
+ name: relations
43
+ required: false
44
+ schema:
45
+ type: boolean
46
+ default: false
47
+ example: false
48
+ description: Whether to include relations
49
+ responses:
50
+ 200:
51
+ description: Organisations retrieved successfully
52
+ content:
53
+ application/json:
54
+ schema:
55
+ oneOf:
56
+ - type: array
57
+ items:
58
+ type: object
59
+ - type: object
60
+ properties:
61
+ data:
62
+ type: array
63
+ items:
64
+ type: object
65
+ example: []
66
+ total:
67
+ type: integer
68
+ example: 100
69
+ nb_pages:
70
+ type: integer
71
+ example: 2
72
+ limit:
73
+ type: integer
74
+ example: 50
75
+ offset:
76
+ type: integer
77
+ example: 0
78
+ page:
79
+ type: integer
80
+ example: 1
81
+ 400:
82
+ description: Invalid filter format or query error
83
+ """
84
+ return super().get()
85
+
86
+ @jwt_required()
87
+ def post(self):
88
+ """
89
+ Create organisation
90
+ ---
91
+ tags:
92
+ - Crud
93
+ description: Create a new organisation with data provided in the
94
+ request body. JSON format is expected.
95
+ requestBody:
96
+ required: true
97
+ content:
98
+ application/json:
99
+ schema:
100
+ type: object
101
+ required:
102
+ - name
103
+ properties:
104
+ name:
105
+ type: string
106
+ example: Studio Name
107
+ hours_by_day:
108
+ type: number
109
+ example: 8.0
110
+ responses:
111
+ 201:
112
+ description: Organisation created successfully
113
+ content:
114
+ application/json:
115
+ schema:
116
+ type: object
117
+ properties:
118
+ id:
119
+ type: string
120
+ format: uuid
121
+ example: a24a6ea4-ce75-4665-a070-57453082c25
122
+ name:
123
+ type: string
124
+ example: Studio Name
125
+ hours_by_day:
126
+ type: number
127
+ example: 8.0
128
+ created_at:
129
+ type: string
130
+ format: date-time
131
+ example: "2024-01-15T10:30:00Z"
132
+ updated_at:
133
+ type: string
134
+ format: date-time
135
+ example: "2024-01-15T10:30:00Z"
136
+ 400:
137
+ description: Invalid data format or validation error
138
+ """
139
+ return super().post()
140
+
15
141
 
16
142
  class OrganisationResource(BaseModelResource):
17
143
  def __init__(self):
@@ -20,6 +146,149 @@ class OrganisationResource(BaseModelResource):
20
146
  def check_read_permissions(self, instance):
21
147
  return True
22
148
 
149
+ @jwt_required()
150
+ def get(self, instance_id):
151
+ """
152
+ Get organisation
153
+ ---
154
+ tags:
155
+ - Crud
156
+ description: Retrieve an organisation by its ID and return it as
157
+ a JSON object. Supports including relations. Non-admin users
158
+ cannot see chat tokens.
159
+ parameters:
160
+ - in: path
161
+ name: instance_id
162
+ required: true
163
+ schema:
164
+ type: string
165
+ format: uuid
166
+ example: a24a6ea4-ce75-4665-a070-57453082c25
167
+ - in: query
168
+ name: relations
169
+ required: false
170
+ schema:
171
+ type: boolean
172
+ default: true
173
+ example: true
174
+ description: Whether to include relations
175
+ responses:
176
+ 200:
177
+ description: Organisation retrieved successfully
178
+ content:
179
+ application/json:
180
+ schema:
181
+ type: object
182
+ properties:
183
+ id:
184
+ type: string
185
+ format: uuid
186
+ example: a24a6ea4-ce75-4665-a070-57453082c25
187
+ name:
188
+ type: string
189
+ example: Studio Name
190
+ hours_by_day:
191
+ type: number
192
+ example: 8.0
193
+ created_at:
194
+ type: string
195
+ format: date-time
196
+ example: "2024-01-15T10:30:00Z"
197
+ updated_at:
198
+ type: string
199
+ format: date-time
200
+ example: "2024-01-15T10:30:00Z"
201
+ 400:
202
+ description: Invalid ID format or query error
203
+ """
204
+ return super().get(instance_id)
205
+
206
+ @jwt_required()
207
+ def put(self, instance_id):
208
+ """
209
+ Update organisation
210
+ ---
211
+ tags:
212
+ - Crud
213
+ description: Update an organisation with data provided in the
214
+ request body. JSON format is expected.
215
+ parameters:
216
+ - in: path
217
+ name: instance_id
218
+ required: true
219
+ schema:
220
+ type: string
221
+ format: uuid
222
+ example: a24a6ea4-ce75-4665-a070-57453082c25
223
+ requestBody:
224
+ required: true
225
+ content:
226
+ application/json:
227
+ schema:
228
+ type: object
229
+ properties:
230
+ name:
231
+ type: string
232
+ example: Updated Studio Name
233
+ hours_by_day:
234
+ type: number
235
+ example: 7.5
236
+ responses:
237
+ 200:
238
+ description: Organisation updated successfully
239
+ content:
240
+ application/json:
241
+ schema:
242
+ type: object
243
+ properties:
244
+ id:
245
+ type: string
246
+ format: uuid
247
+ example: a24a6ea4-ce75-4665-a070-57453082c25
248
+ name:
249
+ type: string
250
+ example: Updated Studio Name
251
+ hours_by_day:
252
+ type: number
253
+ example: 7.5
254
+ created_at:
255
+ type: string
256
+ format: date-time
257
+ example: "2024-01-15T10:30:00Z"
258
+ updated_at:
259
+ type: string
260
+ format: date-time
261
+ example: "2024-01-15T11:00:00Z"
262
+ 400:
263
+ description: Invalid data format or validation error
264
+ """
265
+ return super().put(instance_id)
266
+
267
+ @jwt_required()
268
+ def delete(self, instance_id):
269
+ """
270
+ Delete organisation
271
+ ---
272
+ tags:
273
+ - Crud
274
+ description: Delete an organisation by its ID. Returns empty
275
+ response on success.
276
+ parameters:
277
+ - in: path
278
+ name: instance_id
279
+ required: true
280
+ schema:
281
+ type: string
282
+ format: uuid
283
+ example: a24a6ea4-ce75-4665-a070-57453082c25
284
+ responses:
285
+ 204:
286
+ description: Organisation deleted successfully
287
+ 400:
288
+ description: Integrity error or cannot delete
289
+ """
290
+ return super().delete(instance_id)
291
+
23
292
  def pre_update(self, instance_dict, data):
24
293
  if "hours_by_day" in data:
25
294
  data["hours_by_day"] = float(data["hours_by_day"])
@@ -62,25 +62,49 @@ class OutputFileResource(BaseModelResource):
62
62
  @jwt_required()
63
63
  def get(self, instance_id):
64
64
  """
65
- Retrieve a model corresponding at given ID and return it as a JSON
66
- object.
65
+ Get output file
67
66
  ---
68
67
  tags:
69
68
  - Crud
69
+ description: Retrieve an output file instance by its ID and return
70
+ it as a JSON object.
70
71
  parameters:
71
72
  - in: path
72
- name: output_file_id
73
- required: True
74
- type: string
75
- format: uuid
73
+ name: instance_id
74
+ required: true
75
+ schema:
76
+ type: string
77
+ format: uuid
76
78
  example: a24a6ea4-ce75-4665-a070-57453082c25
77
79
  responses:
78
80
  200:
79
- description: Model as a JSON object
81
+ description: Output file retrieved successfully
82
+ content:
83
+ application/json:
84
+ schema:
85
+ type: object
86
+ properties:
87
+ id:
88
+ type: string
89
+ format: uuid
90
+ example: a24a6ea4-ce75-4665-a070-57453082c25
91
+ name:
92
+ type: string
93
+ example: output_file_v001
94
+ entity_id:
95
+ type: string
96
+ format: uuid
97
+ example: b24a6ea4-ce75-4665-a070-57453082c25
98
+ created_at:
99
+ type: string
100
+ format: date-time
101
+ example: "2024-01-15T10:30:00Z"
102
+ updated_at:
103
+ type: string
104
+ format: date-time
105
+ example: "2024-01-15T10:30:00Z"
80
106
  400:
81
- description: Statement error
82
- 404:
83
- description: Value error
107
+ description: Invalid ID format or query error
84
108
  """
85
109
  try:
86
110
  output_file = files_service.get_output_file(instance_id)
@@ -26,25 +26,45 @@ class OutputTypeResource(BaseModelResource):
26
26
  @jwt_required()
27
27
  def get(self, instance_id):
28
28
  """
29
- Retrieve an output type corresponding at given ID and return it as a
30
- JSON object.
29
+ Get output type
31
30
  ---
32
31
  tags:
33
32
  - Crud
33
+ description: Retrieve an output type instance by its ID and return
34
+ it as a JSON object.
34
35
  parameters:
35
36
  - in: path
36
- name: output_type_id
37
- required: True
38
- type: string
39
- format: uuid
37
+ name: instance_id
38
+ required: true
39
+ schema:
40
+ type: string
41
+ format: uuid
40
42
  example: a24a6ea4-ce75-4665-a070-57453082c25
41
43
  responses:
42
44
  200:
43
- description: Model as a JSON object
45
+ description: Output type retrieved successfully
46
+ content:
47
+ application/json:
48
+ schema:
49
+ type: object
50
+ properties:
51
+ id:
52
+ type: string
53
+ format: uuid
54
+ example: a24a6ea4-ce75-4665-a070-57453082c25
55
+ name:
56
+ type: string
57
+ example: Image
58
+ created_at:
59
+ type: string
60
+ format: date-time
61
+ example: "2024-01-15T10:30:00Z"
62
+ updated_at:
63
+ type: string
64
+ format: date-time
65
+ example: "2024-01-15T10:30:00Z"
44
66
  400:
45
- description: Statement error
46
- 404:
47
- description: Value error
67
+ description: Invalid ID format or query error
48
68
  """
49
69
  try:
50
70
  output_type = files_service.get_output_type(instance_id)