zou 0.20.83__py3-none-any.whl → 0.20.85__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.85.dist-info}/METADATA +18 -18
- {zou-0.20.83.dist-info → zou-0.20.85.dist-info}/RECORD +103 -102
- {zou-0.20.83.dist-info → zou-0.20.85.dist-info}/WHEEL +0 -0
- {zou-0.20.83.dist-info → zou-0.20.85.dist-info}/entry_points.txt +0 -0
- {zou-0.20.83.dist-info → zou-0.20.85.dist-info}/licenses/LICENSE +0 -0
- {zou-0.20.83.dist-info → zou-0.20.85.dist-info}/top_level.txt +0 -0
zou/app/blueprints/crud/chat.py
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from flask_jwt_extended import jwt_required
|
|
2
|
+
|
|
1
3
|
from zou.app.models.chat import Chat
|
|
2
4
|
|
|
3
5
|
from zou.app.blueprints.crud.base import BaseModelResource, BaseModelsResource
|
|
@@ -7,7 +9,287 @@ class ChatsResource(BaseModelsResource):
|
|
|
7
9
|
def __init__(self):
|
|
8
10
|
BaseModelsResource.__init__(self, Chat)
|
|
9
11
|
|
|
12
|
+
@jwt_required()
|
|
13
|
+
def get(self):
|
|
14
|
+
"""
|
|
15
|
+
Get chats
|
|
16
|
+
---
|
|
17
|
+
tags:
|
|
18
|
+
- Crud
|
|
19
|
+
description: Retrieve all chats. Supports filtering via query
|
|
20
|
+
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: Chats 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 chat
|
|
85
|
+
---
|
|
86
|
+
tags:
|
|
87
|
+
- Crud
|
|
88
|
+
description: Create a new chat with data provided in the request
|
|
89
|
+
body. JSON format is expected.
|
|
90
|
+
requestBody:
|
|
91
|
+
required: true
|
|
92
|
+
content:
|
|
93
|
+
application/json:
|
|
94
|
+
schema:
|
|
95
|
+
type: object
|
|
96
|
+
required:
|
|
97
|
+
- object_id
|
|
98
|
+
- object_type
|
|
99
|
+
properties:
|
|
100
|
+
object_id:
|
|
101
|
+
type: string
|
|
102
|
+
format: uuid
|
|
103
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
104
|
+
object_type:
|
|
105
|
+
type: string
|
|
106
|
+
example: Asset
|
|
107
|
+
name:
|
|
108
|
+
type: string
|
|
109
|
+
example: Chat Name
|
|
110
|
+
responses:
|
|
111
|
+
201:
|
|
112
|
+
description: Chat 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
|
+
object_id:
|
|
123
|
+
type: string
|
|
124
|
+
format: uuid
|
|
125
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
126
|
+
object_type:
|
|
127
|
+
type: string
|
|
128
|
+
example: Asset
|
|
129
|
+
name:
|
|
130
|
+
type: string
|
|
131
|
+
example: Chat Name
|
|
132
|
+
created_at:
|
|
133
|
+
type: string
|
|
134
|
+
format: date-time
|
|
135
|
+
example: "2024-01-15T10:30:00Z"
|
|
136
|
+
updated_at:
|
|
137
|
+
type: string
|
|
138
|
+
format: date-time
|
|
139
|
+
example: "2024-01-15T10:30:00Z"
|
|
140
|
+
400:
|
|
141
|
+
description: Invalid data format or validation error
|
|
142
|
+
"""
|
|
143
|
+
return super().post()
|
|
144
|
+
|
|
10
145
|
|
|
11
146
|
class ChatResource(BaseModelResource):
|
|
12
147
|
def __init__(self):
|
|
13
148
|
BaseModelResource.__init__(self, Chat)
|
|
149
|
+
|
|
150
|
+
@jwt_required()
|
|
151
|
+
def get(self, instance_id):
|
|
152
|
+
"""
|
|
153
|
+
Get chat
|
|
154
|
+
---
|
|
155
|
+
tags:
|
|
156
|
+
- Crud
|
|
157
|
+
description: Retrieve a chat by its ID and return it as a JSON
|
|
158
|
+
object. Supports including relations.
|
|
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: Chat 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
|
+
object_id:
|
|
188
|
+
type: string
|
|
189
|
+
format: uuid
|
|
190
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
191
|
+
object_type:
|
|
192
|
+
type: string
|
|
193
|
+
example: Asset
|
|
194
|
+
name:
|
|
195
|
+
type: string
|
|
196
|
+
example: Chat Name
|
|
197
|
+
created_at:
|
|
198
|
+
type: string
|
|
199
|
+
format: date-time
|
|
200
|
+
example: "2024-01-15T10:30:00Z"
|
|
201
|
+
updated_at:
|
|
202
|
+
type: string
|
|
203
|
+
format: date-time
|
|
204
|
+
example: "2024-01-15T10:30:00Z"
|
|
205
|
+
400:
|
|
206
|
+
description: Invalid ID format or query error
|
|
207
|
+
"""
|
|
208
|
+
return super().get(instance_id)
|
|
209
|
+
|
|
210
|
+
@jwt_required()
|
|
211
|
+
def put(self, instance_id):
|
|
212
|
+
"""
|
|
213
|
+
Update chat
|
|
214
|
+
---
|
|
215
|
+
tags:
|
|
216
|
+
- Crud
|
|
217
|
+
description: Update a chat with data provided in the request body.
|
|
218
|
+
JSON format is expected.
|
|
219
|
+
parameters:
|
|
220
|
+
- in: path
|
|
221
|
+
name: instance_id
|
|
222
|
+
required: true
|
|
223
|
+
schema:
|
|
224
|
+
type: string
|
|
225
|
+
format: uuid
|
|
226
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
227
|
+
requestBody:
|
|
228
|
+
required: true
|
|
229
|
+
content:
|
|
230
|
+
application/json:
|
|
231
|
+
schema:
|
|
232
|
+
type: object
|
|
233
|
+
properties:
|
|
234
|
+
name:
|
|
235
|
+
type: string
|
|
236
|
+
example: Updated Chat Name
|
|
237
|
+
responses:
|
|
238
|
+
200:
|
|
239
|
+
description: Chat updated successfully
|
|
240
|
+
content:
|
|
241
|
+
application/json:
|
|
242
|
+
schema:
|
|
243
|
+
type: object
|
|
244
|
+
properties:
|
|
245
|
+
id:
|
|
246
|
+
type: string
|
|
247
|
+
format: uuid
|
|
248
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
249
|
+
object_id:
|
|
250
|
+
type: string
|
|
251
|
+
format: uuid
|
|
252
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
253
|
+
object_type:
|
|
254
|
+
type: string
|
|
255
|
+
example: Asset
|
|
256
|
+
name:
|
|
257
|
+
type: string
|
|
258
|
+
example: Updated Chat Name
|
|
259
|
+
created_at:
|
|
260
|
+
type: string
|
|
261
|
+
format: date-time
|
|
262
|
+
example: "2024-01-15T10:30:00Z"
|
|
263
|
+
updated_at:
|
|
264
|
+
type: string
|
|
265
|
+
format: date-time
|
|
266
|
+
example: "2024-01-15T11:00:00Z"
|
|
267
|
+
400:
|
|
268
|
+
description: Invalid data format or validation error
|
|
269
|
+
"""
|
|
270
|
+
return super().put(instance_id)
|
|
271
|
+
|
|
272
|
+
@jwt_required()
|
|
273
|
+
def delete(self, instance_id):
|
|
274
|
+
"""
|
|
275
|
+
Delete chat
|
|
276
|
+
---
|
|
277
|
+
tags:
|
|
278
|
+
- Crud
|
|
279
|
+
description: Delete a chat by its ID. Returns empty response on
|
|
280
|
+
success.
|
|
281
|
+
parameters:
|
|
282
|
+
- in: path
|
|
283
|
+
name: instance_id
|
|
284
|
+
required: true
|
|
285
|
+
schema:
|
|
286
|
+
type: string
|
|
287
|
+
format: uuid
|
|
288
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
289
|
+
responses:
|
|
290
|
+
204:
|
|
291
|
+
description: Chat deleted successfully
|
|
292
|
+
400:
|
|
293
|
+
description: Integrity error or cannot delete
|
|
294
|
+
"""
|
|
295
|
+
return super().delete(instance_id)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from flask_jwt_extended import jwt_required
|
|
2
|
+
|
|
1
3
|
from zou.app.models.chat_message import ChatMessage
|
|
2
4
|
|
|
3
5
|
from zou.app.blueprints.crud.base import BaseModelResource, BaseModelsResource
|
|
@@ -7,7 +9,291 @@ class ChatMessagesResource(BaseModelsResource):
|
|
|
7
9
|
def __init__(self):
|
|
8
10
|
BaseModelsResource.__init__(self, ChatMessage)
|
|
9
11
|
|
|
12
|
+
@jwt_required()
|
|
13
|
+
def get(self):
|
|
14
|
+
"""
|
|
15
|
+
Get chat messages
|
|
16
|
+
---
|
|
17
|
+
tags:
|
|
18
|
+
- Crud
|
|
19
|
+
description: Retrieve all chat messages. 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: Chat messages 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 chat message
|
|
85
|
+
---
|
|
86
|
+
tags:
|
|
87
|
+
- Crud
|
|
88
|
+
description: Create a new chat message 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
|
+
- chat_id
|
|
98
|
+
- person_id
|
|
99
|
+
properties:
|
|
100
|
+
chat_id:
|
|
101
|
+
type: string
|
|
102
|
+
format: uuid
|
|
103
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
104
|
+
person_id:
|
|
105
|
+
type: string
|
|
106
|
+
format: uuid
|
|
107
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
108
|
+
text:
|
|
109
|
+
type: string
|
|
110
|
+
example: Message text
|
|
111
|
+
responses:
|
|
112
|
+
201:
|
|
113
|
+
description: Chat message created successfully
|
|
114
|
+
content:
|
|
115
|
+
application/json:
|
|
116
|
+
schema:
|
|
117
|
+
type: object
|
|
118
|
+
properties:
|
|
119
|
+
id:
|
|
120
|
+
type: string
|
|
121
|
+
format: uuid
|
|
122
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
123
|
+
chat_id:
|
|
124
|
+
type: string
|
|
125
|
+
format: uuid
|
|
126
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
127
|
+
person_id:
|
|
128
|
+
type: string
|
|
129
|
+
format: uuid
|
|
130
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
131
|
+
text:
|
|
132
|
+
type: string
|
|
133
|
+
example: Message text
|
|
134
|
+
created_at:
|
|
135
|
+
type: string
|
|
136
|
+
format: date-time
|
|
137
|
+
example: "2024-01-15T10:30:00Z"
|
|
138
|
+
updated_at:
|
|
139
|
+
type: string
|
|
140
|
+
format: date-time
|
|
141
|
+
example: "2024-01-15T10:30:00Z"
|
|
142
|
+
400:
|
|
143
|
+
description: Invalid data format or validation error
|
|
144
|
+
"""
|
|
145
|
+
return super().post()
|
|
146
|
+
|
|
10
147
|
|
|
11
148
|
class ChatMessageResource(BaseModelResource):
|
|
12
149
|
def __init__(self):
|
|
13
150
|
BaseModelResource.__init__(self, ChatMessage)
|
|
151
|
+
|
|
152
|
+
@jwt_required()
|
|
153
|
+
def get(self, instance_id):
|
|
154
|
+
"""
|
|
155
|
+
Get chat message
|
|
156
|
+
---
|
|
157
|
+
tags:
|
|
158
|
+
- Crud
|
|
159
|
+
description: Retrieve a chat message by its ID and return it as a
|
|
160
|
+
JSON object. Supports including relations.
|
|
161
|
+
parameters:
|
|
162
|
+
- in: path
|
|
163
|
+
name: instance_id
|
|
164
|
+
required: true
|
|
165
|
+
schema:
|
|
166
|
+
type: string
|
|
167
|
+
format: uuid
|
|
168
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
169
|
+
- in: query
|
|
170
|
+
name: relations
|
|
171
|
+
required: false
|
|
172
|
+
schema:
|
|
173
|
+
type: boolean
|
|
174
|
+
default: true
|
|
175
|
+
example: true
|
|
176
|
+
description: Whether to include relations
|
|
177
|
+
responses:
|
|
178
|
+
200:
|
|
179
|
+
description: Chat message retrieved successfully
|
|
180
|
+
content:
|
|
181
|
+
application/json:
|
|
182
|
+
schema:
|
|
183
|
+
type: object
|
|
184
|
+
properties:
|
|
185
|
+
id:
|
|
186
|
+
type: string
|
|
187
|
+
format: uuid
|
|
188
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
189
|
+
chat_id:
|
|
190
|
+
type: string
|
|
191
|
+
format: uuid
|
|
192
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
193
|
+
person_id:
|
|
194
|
+
type: string
|
|
195
|
+
format: uuid
|
|
196
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
197
|
+
text:
|
|
198
|
+
type: string
|
|
199
|
+
example: Message text
|
|
200
|
+
created_at:
|
|
201
|
+
type: string
|
|
202
|
+
format: date-time
|
|
203
|
+
example: "2024-01-15T10:30:00Z"
|
|
204
|
+
updated_at:
|
|
205
|
+
type: string
|
|
206
|
+
format: date-time
|
|
207
|
+
example: "2024-01-15T10:30:00Z"
|
|
208
|
+
400:
|
|
209
|
+
description: Invalid ID format or query error
|
|
210
|
+
"""
|
|
211
|
+
return super().get(instance_id)
|
|
212
|
+
|
|
213
|
+
@jwt_required()
|
|
214
|
+
def put(self, instance_id):
|
|
215
|
+
"""
|
|
216
|
+
Update chat message
|
|
217
|
+
---
|
|
218
|
+
tags:
|
|
219
|
+
- Crud
|
|
220
|
+
description: Update a chat message with data provided in the
|
|
221
|
+
request body. JSON format is expected.
|
|
222
|
+
parameters:
|
|
223
|
+
- in: path
|
|
224
|
+
name: instance_id
|
|
225
|
+
required: true
|
|
226
|
+
schema:
|
|
227
|
+
type: string
|
|
228
|
+
format: uuid
|
|
229
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
230
|
+
requestBody:
|
|
231
|
+
required: true
|
|
232
|
+
content:
|
|
233
|
+
application/json:
|
|
234
|
+
schema:
|
|
235
|
+
type: object
|
|
236
|
+
properties:
|
|
237
|
+
text:
|
|
238
|
+
type: string
|
|
239
|
+
example: Updated message text
|
|
240
|
+
responses:
|
|
241
|
+
200:
|
|
242
|
+
description: Chat message updated successfully
|
|
243
|
+
content:
|
|
244
|
+
application/json:
|
|
245
|
+
schema:
|
|
246
|
+
type: object
|
|
247
|
+
properties:
|
|
248
|
+
id:
|
|
249
|
+
type: string
|
|
250
|
+
format: uuid
|
|
251
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
252
|
+
chat_id:
|
|
253
|
+
type: string
|
|
254
|
+
format: uuid
|
|
255
|
+
example: b24a6ea4-ce75-4665-a070-57453082c25
|
|
256
|
+
person_id:
|
|
257
|
+
type: string
|
|
258
|
+
format: uuid
|
|
259
|
+
example: c24a6ea4-ce75-4665-a070-57453082c25
|
|
260
|
+
text:
|
|
261
|
+
type: string
|
|
262
|
+
example: Updated message text
|
|
263
|
+
created_at:
|
|
264
|
+
type: string
|
|
265
|
+
format: date-time
|
|
266
|
+
example: "2024-01-15T10:30:00Z"
|
|
267
|
+
updated_at:
|
|
268
|
+
type: string
|
|
269
|
+
format: date-time
|
|
270
|
+
example: "2024-01-15T11:00:00Z"
|
|
271
|
+
400:
|
|
272
|
+
description: Invalid data format or validation error
|
|
273
|
+
"""
|
|
274
|
+
return super().put(instance_id)
|
|
275
|
+
|
|
276
|
+
@jwt_required()
|
|
277
|
+
def delete(self, instance_id):
|
|
278
|
+
"""
|
|
279
|
+
Delete chat message
|
|
280
|
+
---
|
|
281
|
+
tags:
|
|
282
|
+
- Crud
|
|
283
|
+
description: Delete a chat message by its ID. Returns empty
|
|
284
|
+
response on success.
|
|
285
|
+
parameters:
|
|
286
|
+
- in: path
|
|
287
|
+
name: instance_id
|
|
288
|
+
required: true
|
|
289
|
+
schema:
|
|
290
|
+
type: string
|
|
291
|
+
format: uuid
|
|
292
|
+
example: a24a6ea4-ce75-4665-a070-57453082c25
|
|
293
|
+
responses:
|
|
294
|
+
204:
|
|
295
|
+
description: Chat message deleted successfully
|
|
296
|
+
400:
|
|
297
|
+
description: Integrity error or cannot delete
|
|
298
|
+
"""
|
|
299
|
+
return super().delete(instance_id)
|