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.
- zou/__init__.py +1 -1
- zou/app/blueprints/assets/resources.py +1060 -153
- zou/app/blueprints/auth/resources.py +368 -238
- zou/app/blueprints/breakdown/resources.py +584 -94
- zou/app/blueprints/chats/resources.py +176 -37
- zou/app/blueprints/comments/resources.py +409 -150
- zou/app/blueprints/concepts/resources.py +443 -63
- 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/departments/resources.py +302 -68
- zou/app/blueprints/edits/resources.py +651 -81
- zou/app/blueprints/entities/resources.py +104 -39
- zou/app/blueprints/events/resources.py +96 -8
- 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/index/resources.py +49 -42
- zou/app/blueprints/news/resources.py +47 -27
- 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/blueprints/user/resources.py +1808 -215
- 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/app/swagger.py +100 -27
- zou/migrations/versions/a1b2c3d4e5f6_add_position_to_metadata_descriptor.py +32 -0
- {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/METADATA +18 -18
- {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/RECORD +114 -113
- {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/WHEEL +0 -0
- {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/entry_points.txt +0 -0
- {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/licenses/LICENSE +0 -0
- {zou-0.20.82.dist-info → zou-0.20.84.dist-info}/top_level.txt +0 -0
|
@@ -25,6 +25,151 @@ class ProjectsResource(BaseModelsResource):
|
|
|
25
25
|
def __init__(self):
|
|
26
26
|
BaseModelsResource.__init__(self, Project)
|
|
27
27
|
|
|
28
|
+
@jwt_required()
|
|
29
|
+
def get(self):
|
|
30
|
+
"""
|
|
31
|
+
Get projects
|
|
32
|
+
---
|
|
33
|
+
tags:
|
|
34
|
+
- Crud
|
|
35
|
+
description: Retrieve all projects. Supports filtering via query
|
|
36
|
+
parameters and pagination. Includes project permission filtering
|
|
37
|
+
for non-admin users.
|
|
38
|
+
parameters:
|
|
39
|
+
- in: query
|
|
40
|
+
name: page
|
|
41
|
+
required: false
|
|
42
|
+
schema:
|
|
43
|
+
type: integer
|
|
44
|
+
example: 1
|
|
45
|
+
description: Page number for pagination
|
|
46
|
+
- in: query
|
|
47
|
+
name: limit
|
|
48
|
+
required: false
|
|
49
|
+
schema:
|
|
50
|
+
type: integer
|
|
51
|
+
example: 50
|
|
52
|
+
description: Number of results per page
|
|
53
|
+
- in: query
|
|
54
|
+
name: relations
|
|
55
|
+
required: false
|
|
56
|
+
schema:
|
|
57
|
+
type: boolean
|
|
58
|
+
default: false
|
|
59
|
+
example: false
|
|
60
|
+
description: Whether to include relations
|
|
61
|
+
responses:
|
|
62
|
+
200:
|
|
63
|
+
description: Projects retrieved successfully
|
|
64
|
+
content:
|
|
65
|
+
application/json:
|
|
66
|
+
schema:
|
|
67
|
+
oneOf:
|
|
68
|
+
- type: array
|
|
69
|
+
items:
|
|
70
|
+
type: object
|
|
71
|
+
- type: object
|
|
72
|
+
properties:
|
|
73
|
+
data:
|
|
74
|
+
type: array
|
|
75
|
+
items:
|
|
76
|
+
type: object
|
|
77
|
+
example: []
|
|
78
|
+
total:
|
|
79
|
+
type: integer
|
|
80
|
+
example: 100
|
|
81
|
+
nb_pages:
|
|
82
|
+
type: integer
|
|
83
|
+
example: 2
|
|
84
|
+
limit:
|
|
85
|
+
type: integer
|
|
86
|
+
example: 50
|
|
87
|
+
offset:
|
|
88
|
+
type: integer
|
|
89
|
+
example: 0
|
|
90
|
+
page:
|
|
91
|
+
type: integer
|
|
92
|
+
example: 1
|
|
93
|
+
400:
|
|
94
|
+
description: Invalid filter format or query error
|
|
95
|
+
"""
|
|
96
|
+
return super().get()
|
|
97
|
+
|
|
98
|
+
@jwt_required()
|
|
99
|
+
def post(self):
|
|
100
|
+
"""
|
|
101
|
+
Create project
|
|
102
|
+
---
|
|
103
|
+
tags:
|
|
104
|
+
- Crud
|
|
105
|
+
description: Create a new project with data provided in the
|
|
106
|
+
request body. JSON format is expected. Validates production_style.
|
|
107
|
+
For tvshow production type, automatically creates first episode.
|
|
108
|
+
requestBody:
|
|
109
|
+
required: true
|
|
110
|
+
content:
|
|
111
|
+
application/json:
|
|
112
|
+
schema:
|
|
113
|
+
type: object
|
|
114
|
+
required:
|
|
115
|
+
- name
|
|
116
|
+
properties:
|
|
117
|
+
name:
|
|
118
|
+
type: string
|
|
119
|
+
example: Project Name
|
|
120
|
+
production_type:
|
|
121
|
+
type: string
|
|
122
|
+
example: feature
|
|
123
|
+
production_style:
|
|
124
|
+
type: string
|
|
125
|
+
default: 2d3d
|
|
126
|
+
example: 2d3d
|
|
127
|
+
project_status_id:
|
|
128
|
+
type: string
|
|
129
|
+
format: uuid
|
|
130
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
131
|
+
responses:
|
|
132
|
+
201:
|
|
133
|
+
description: Project created successfully
|
|
134
|
+
content:
|
|
135
|
+
application/json:
|
|
136
|
+
schema:
|
|
137
|
+
type: object
|
|
138
|
+
properties:
|
|
139
|
+
id:
|
|
140
|
+
type: string
|
|
141
|
+
format: uuid
|
|
142
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
143
|
+
name:
|
|
144
|
+
type: string
|
|
145
|
+
example: Project Name
|
|
146
|
+
production_type:
|
|
147
|
+
type: string
|
|
148
|
+
example: feature
|
|
149
|
+
production_style:
|
|
150
|
+
type: string
|
|
151
|
+
example: 2d3d
|
|
152
|
+
project_status_id:
|
|
153
|
+
type: string
|
|
154
|
+
format: uuid
|
|
155
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
156
|
+
first_episode_id:
|
|
157
|
+
type: string
|
|
158
|
+
format: uuid
|
|
159
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
160
|
+
created_at:
|
|
161
|
+
type: string
|
|
162
|
+
format: date-time
|
|
163
|
+
example: "2024-01-15T10:30:00Z"
|
|
164
|
+
updated_at:
|
|
165
|
+
type: string
|
|
166
|
+
format: date-time
|
|
167
|
+
example: "2024-01-15T10:30:00Z"
|
|
168
|
+
400:
|
|
169
|
+
description: Invalid data format or invalid production_style
|
|
170
|
+
"""
|
|
171
|
+
return super().post()
|
|
172
|
+
|
|
28
173
|
def add_project_permission_filter(self, query):
|
|
29
174
|
if permissions.has_admin_permissions():
|
|
30
175
|
return query
|
|
@@ -100,6 +245,149 @@ class ProjectResource(BaseModelResource, ArgsMixin):
|
|
|
100
245
|
def check_read_permissions(self, project):
|
|
101
246
|
return user_service.check_project_access(project["id"])
|
|
102
247
|
|
|
248
|
+
@jwt_required()
|
|
249
|
+
def get(self, instance_id):
|
|
250
|
+
"""
|
|
251
|
+
Get project
|
|
252
|
+
---
|
|
253
|
+
tags:
|
|
254
|
+
- Crud
|
|
255
|
+
description: Retrieve a project by its ID and return it as a JSON
|
|
256
|
+
object. Supports including relations. Requires project access.
|
|
257
|
+
parameters:
|
|
258
|
+
- in: path
|
|
259
|
+
name: instance_id
|
|
260
|
+
required: true
|
|
261
|
+
schema:
|
|
262
|
+
type: string
|
|
263
|
+
format: uuid
|
|
264
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
265
|
+
- in: query
|
|
266
|
+
name: relations
|
|
267
|
+
required: false
|
|
268
|
+
schema:
|
|
269
|
+
type: boolean
|
|
270
|
+
default: true
|
|
271
|
+
example: true
|
|
272
|
+
description: Whether to include relations
|
|
273
|
+
responses:
|
|
274
|
+
200:
|
|
275
|
+
description: Project retrieved successfully
|
|
276
|
+
content:
|
|
277
|
+
application/json:
|
|
278
|
+
schema:
|
|
279
|
+
type: object
|
|
280
|
+
properties:
|
|
281
|
+
id:
|
|
282
|
+
type: string
|
|
283
|
+
format: uuid
|
|
284
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
285
|
+
name:
|
|
286
|
+
type: string
|
|
287
|
+
example: Project Name
|
|
288
|
+
production_type:
|
|
289
|
+
type: string
|
|
290
|
+
example: feature
|
|
291
|
+
production_style:
|
|
292
|
+
type: string
|
|
293
|
+
example: 2d3d
|
|
294
|
+
project_status_id:
|
|
295
|
+
type: string
|
|
296
|
+
format: uuid
|
|
297
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
298
|
+
project_status_name:
|
|
299
|
+
type: string
|
|
300
|
+
example: Open
|
|
301
|
+
created_at:
|
|
302
|
+
type: string
|
|
303
|
+
format: date-time
|
|
304
|
+
example: "2024-01-15T10:30:00Z"
|
|
305
|
+
updated_at:
|
|
306
|
+
type: string
|
|
307
|
+
format: date-time
|
|
308
|
+
example: "2024-01-15T10:30:00Z"
|
|
309
|
+
400:
|
|
310
|
+
description: Invalid ID format or query error
|
|
311
|
+
"""
|
|
312
|
+
return super().get(instance_id)
|
|
313
|
+
|
|
314
|
+
@jwt_required()
|
|
315
|
+
def put(self, instance_id):
|
|
316
|
+
"""
|
|
317
|
+
Update project
|
|
318
|
+
---
|
|
319
|
+
tags:
|
|
320
|
+
- Crud
|
|
321
|
+
description: Update a project with data provided in the request
|
|
322
|
+
body. JSON format is expected. Requires manager access to the
|
|
323
|
+
project. Validates production_style.
|
|
324
|
+
parameters:
|
|
325
|
+
- in: path
|
|
326
|
+
name: instance_id
|
|
327
|
+
required: true
|
|
328
|
+
schema:
|
|
329
|
+
type: string
|
|
330
|
+
format: uuid
|
|
331
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
332
|
+
requestBody:
|
|
333
|
+
required: true
|
|
334
|
+
content:
|
|
335
|
+
application/json:
|
|
336
|
+
schema:
|
|
337
|
+
type: object
|
|
338
|
+
properties:
|
|
339
|
+
name:
|
|
340
|
+
type: string
|
|
341
|
+
example: Updated Project Name
|
|
342
|
+
production_style:
|
|
343
|
+
type: string
|
|
344
|
+
example: 2d
|
|
345
|
+
preview_background_file_id:
|
|
346
|
+
type: string
|
|
347
|
+
format: uuid
|
|
348
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
349
|
+
responses:
|
|
350
|
+
200:
|
|
351
|
+
description: Project updated successfully
|
|
352
|
+
content:
|
|
353
|
+
application/json:
|
|
354
|
+
schema:
|
|
355
|
+
type: object
|
|
356
|
+
properties:
|
|
357
|
+
id:
|
|
358
|
+
type: string
|
|
359
|
+
format: uuid
|
|
360
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
361
|
+
name:
|
|
362
|
+
type: string
|
|
363
|
+
example: Updated Project Name
|
|
364
|
+
production_type:
|
|
365
|
+
type: string
|
|
366
|
+
example: feature
|
|
367
|
+
production_style:
|
|
368
|
+
type: string
|
|
369
|
+
example: 2d
|
|
370
|
+
project_status_id:
|
|
371
|
+
type: string
|
|
372
|
+
format: uuid
|
|
373
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
374
|
+
first_episode_id:
|
|
375
|
+
type: string
|
|
376
|
+
format: uuid
|
|
377
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
378
|
+
created_at:
|
|
379
|
+
type: string
|
|
380
|
+
format: date-time
|
|
381
|
+
example: "2024-01-15T10:30:00Z"
|
|
382
|
+
updated_at:
|
|
383
|
+
type: string
|
|
384
|
+
format: date-time
|
|
385
|
+
example: "2024-01-15T11:00:00Z"
|
|
386
|
+
400:
|
|
387
|
+
description: Invalid data format or invalid production_style
|
|
388
|
+
"""
|
|
389
|
+
return super().put(instance_id)
|
|
390
|
+
|
|
103
391
|
def check_update_permissions(self, project, data):
|
|
104
392
|
return user_service.check_manager_project_access(project["id"])
|
|
105
393
|
|
|
@@ -176,6 +464,35 @@ class ProjectResource(BaseModelResource, ArgsMixin):
|
|
|
176
464
|
|
|
177
465
|
@jwt_required()
|
|
178
466
|
def delete(self, instance_id):
|
|
467
|
+
"""
|
|
468
|
+
Delete project
|
|
469
|
+
---
|
|
470
|
+
tags:
|
|
471
|
+
- Crud
|
|
472
|
+
description: Delete a project by its ID. Only closed projects can
|
|
473
|
+
be deleted. Returns empty response on success.
|
|
474
|
+
parameters:
|
|
475
|
+
- in: path
|
|
476
|
+
name: instance_id
|
|
477
|
+
required: true
|
|
478
|
+
schema:
|
|
479
|
+
type: string
|
|
480
|
+
format: uuid
|
|
481
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
482
|
+
- in: query
|
|
483
|
+
name: force
|
|
484
|
+
required: false
|
|
485
|
+
schema:
|
|
486
|
+
type: boolean
|
|
487
|
+
default: false
|
|
488
|
+
example: false
|
|
489
|
+
description: Force deletion with cascading removal
|
|
490
|
+
responses:
|
|
491
|
+
204:
|
|
492
|
+
description: Project deleted successfully
|
|
493
|
+
400:
|
|
494
|
+
description: Only closed projects can be deleted or integrity error
|
|
495
|
+
"""
|
|
179
496
|
force = self.get_force()
|
|
180
497
|
|
|
181
498
|
project = self.get_model_or_404(instance_id)
|
|
@@ -199,6 +516,62 @@ class ProjectResource(BaseModelResource, ArgsMixin):
|
|
|
199
516
|
class ProjectTaskTypeLinksResource(Resource, ArgsMixin):
|
|
200
517
|
@jwt_required()
|
|
201
518
|
def post(self):
|
|
519
|
+
"""
|
|
520
|
+
Create project task type link
|
|
521
|
+
---
|
|
522
|
+
tags:
|
|
523
|
+
- Crud
|
|
524
|
+
description: Create a link between a project and a task type.
|
|
525
|
+
Sets the priority of the task type within the project.
|
|
526
|
+
requestBody:
|
|
527
|
+
required: true
|
|
528
|
+
content:
|
|
529
|
+
application/json:
|
|
530
|
+
schema:
|
|
531
|
+
type: object
|
|
532
|
+
required:
|
|
533
|
+
- project_id
|
|
534
|
+
- task_type_id
|
|
535
|
+
properties:
|
|
536
|
+
project_id:
|
|
537
|
+
type: string
|
|
538
|
+
format: uuid
|
|
539
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
540
|
+
task_type_id:
|
|
541
|
+
type: string
|
|
542
|
+
format: uuid
|
|
543
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
544
|
+
priority:
|
|
545
|
+
type: integer
|
|
546
|
+
default: 1
|
|
547
|
+
example: 1
|
|
548
|
+
description: Priority of the task type in the project
|
|
549
|
+
responses:
|
|
550
|
+
201:
|
|
551
|
+
description: Project task type link created successfully
|
|
552
|
+
content:
|
|
553
|
+
application/json:
|
|
554
|
+
schema:
|
|
555
|
+
type: object
|
|
556
|
+
properties:
|
|
557
|
+
id:
|
|
558
|
+
type: string
|
|
559
|
+
format: uuid
|
|
560
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
561
|
+
project_id:
|
|
562
|
+
type: string
|
|
563
|
+
format: uuid
|
|
564
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
565
|
+
task_type_id:
|
|
566
|
+
type: string
|
|
567
|
+
format: uuid
|
|
568
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
569
|
+
priority:
|
|
570
|
+
type: integer
|
|
571
|
+
example: 1
|
|
572
|
+
400:
|
|
573
|
+
description: Invalid project or task type
|
|
574
|
+
"""
|
|
202
575
|
args = self.get_args(
|
|
203
576
|
[
|
|
204
577
|
("project_id", "", True),
|
|
@@ -221,6 +594,73 @@ class ProjectTaskTypeLinksResource(Resource, ArgsMixin):
|
|
|
221
594
|
class ProjectTaskStatusLinksResource(Resource, ArgsMixin):
|
|
222
595
|
@jwt_required()
|
|
223
596
|
def post(self):
|
|
597
|
+
"""
|
|
598
|
+
Create project task status link
|
|
599
|
+
---
|
|
600
|
+
tags:
|
|
601
|
+
- Crud
|
|
602
|
+
description: Create a link between a project and a task status.
|
|
603
|
+
Sets the priority and roles that can view it on the board.
|
|
604
|
+
requestBody:
|
|
605
|
+
required: true
|
|
606
|
+
content:
|
|
607
|
+
application/json:
|
|
608
|
+
schema:
|
|
609
|
+
type: object
|
|
610
|
+
required:
|
|
611
|
+
- project_id
|
|
612
|
+
- task_status_id
|
|
613
|
+
properties:
|
|
614
|
+
project_id:
|
|
615
|
+
type: string
|
|
616
|
+
format: uuid
|
|
617
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
618
|
+
task_status_id:
|
|
619
|
+
type: string
|
|
620
|
+
format: uuid
|
|
621
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
622
|
+
priority:
|
|
623
|
+
type: integer
|
|
624
|
+
default: 1
|
|
625
|
+
example: 1
|
|
626
|
+
description: Priority of the task status in the project
|
|
627
|
+
roles_for_board:
|
|
628
|
+
type: array
|
|
629
|
+
items:
|
|
630
|
+
type: string
|
|
631
|
+
example: ["admin", "manager"]
|
|
632
|
+
description: Roles allowed to see this status on the board
|
|
633
|
+
responses:
|
|
634
|
+
201:
|
|
635
|
+
description: Project task status link created successfully
|
|
636
|
+
content:
|
|
637
|
+
application/json:
|
|
638
|
+
schema:
|
|
639
|
+
type: object
|
|
640
|
+
properties:
|
|
641
|
+
id:
|
|
642
|
+
type: string
|
|
643
|
+
format: uuid
|
|
644
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
645
|
+
project_id:
|
|
646
|
+
type: string
|
|
647
|
+
format: uuid
|
|
648
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
649
|
+
task_status_id:
|
|
650
|
+
type: string
|
|
651
|
+
format: uuid
|
|
652
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
653
|
+
priority:
|
|
654
|
+
type: integer
|
|
655
|
+
example: 1
|
|
656
|
+
roles_for_board:
|
|
657
|
+
type: array
|
|
658
|
+
items:
|
|
659
|
+
type: string
|
|
660
|
+
example: ["admin", "manager"]
|
|
661
|
+
400:
|
|
662
|
+
description: Invalid project or task status
|
|
663
|
+
"""
|
|
224
664
|
args = self.get_args(
|
|
225
665
|
[
|
|
226
666
|
("project_id", "", True),
|