shared-ritm 1.3.26 → 1.3.27

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 (55) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/shared-ritm.es.js +8706 -8778
  3. package/dist/shared-ritm.umd.js +324 -324
  4. package/dist/types/api/services/ComentsServise.d.ts +10 -0
  5. package/dist/types/api/services/PhotoService.d.ts +51 -38
  6. package/dist/types/api/services/RepairsService.d.ts +1 -1
  7. package/dist/types/api/settings/ApiService.d.ts +1 -1
  8. package/dist/types/api/types/Api_Users.d.ts +43 -0
  9. package/package.json +65 -65
  10. package/src/App.vue +2461 -2461
  11. package/src/api/services/BrigadesService.ts +32 -32
  12. package/src/api/services/ControlsService.ts +96 -96
  13. package/src/api/services/EquipmentService.ts +29 -29
  14. package/src/api/services/InstrumentsService.ts +68 -68
  15. package/src/api/services/MetricsService.ts +123 -123
  16. package/src/api/services/ModulesService.ts +27 -27
  17. package/src/api/services/ProjectsService.ts +83 -83
  18. package/src/api/services/RepairsService.ts +111 -111
  19. package/src/api/services/ScheduleService.ts +69 -69
  20. package/src/api/services/SearchService.ts +22 -22
  21. package/src/api/services/UserService.ts +119 -119
  22. package/src/api/services/VideoService.ts +108 -108
  23. package/src/api/settings/ApiService.ts +124 -124
  24. package/src/api/types/Api_Auth.ts +105 -105
  25. package/src/api/types/Api_Brigades.ts +36 -36
  26. package/src/api/types/Api_Controls.ts +111 -111
  27. package/src/api/types/Api_Equipment.ts +3 -3
  28. package/src/api/types/Api_Instruments.ts +156 -156
  29. package/src/api/types/Api_Metrics.ts +5 -5
  30. package/src/api/types/Api_Modules.ts +21 -21
  31. package/src/api/types/Api_Projects.ts +62 -62
  32. package/src/api/types/Api_Repairs.ts +152 -152
  33. package/src/api/types/Api_Schedule.ts +64 -64
  34. package/src/api/types/Api_Search.ts +80 -80
  35. package/src/api/types/Api_Tasks.ts +372 -372
  36. package/src/api/types/Api_User.ts +146 -146
  37. package/src/api/types/Api_Video.ts +198 -198
  38. package/src/common/app-datepicker/AppDatepicker.vue +218 -218
  39. package/src/common/app-dialogs/AppConfirmDialog.vue +12 -2
  40. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  41. package/src/common/app-input-new/AppInputNew.vue +179 -179
  42. package/src/common/app-layout/AppLayout.vue +84 -84
  43. package/src/common/app-modal/index.vue +96 -96
  44. package/src/common/app-sheet-new/AppSheetNew.vue +244 -244
  45. package/src/common/app-sidebar/AppSidebar.vue +174 -174
  46. package/src/common/app-sidebar/components/SidebarMenuItem.vue +149 -149
  47. package/src/common/app-table/AppTable.vue +308 -308
  48. package/src/common/app-table/AppTableLayout.vue +137 -137
  49. package/src/common/app-table/components/TableModal.vue +356 -356
  50. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  51. package/src/common/app-table/controllers/useTableModel.ts +102 -102
  52. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  53. package/src/index.ts +131 -131
  54. package/src/styles/variables.sass +12 -12
  55. package/src/utils/files.ts +19 -19
@@ -1,372 +1,372 @@
1
- import { Api_Comment_Dto } from '../types/Api_Comment'
2
- export type Api_Tasks_InstrumentHistory_Item_Dto = {
3
- interval: {
4
- start_interval: string
5
- end_interval: string
6
- minutes: number | null
7
- user: {
8
- id: string
9
- first_name: string
10
- last_name: string
11
- patronymic: string | null
12
- full_name: string
13
- }
14
- }[]
15
- minutes: number
16
- warehouse: {
17
- id: string
18
- name: string
19
- status: {
20
- id: string
21
- name: string
22
- title: string
23
- }
24
- }
25
- }
26
-
27
- export type Api_Tasks_AllPersonalUser_Dto = {
28
- users: Api_Tasks_Personal_User_Dto[]
29
- unrecognized_users: Api_PersonalUnrecognizedUser[]
30
- }
31
-
32
- export type Api_Tasks_Personal_User_Dto = {
33
- user: Api_Tasks_Position_Assigned_User_Dto
34
- sum_minutes_interval: number
35
- interval: {
36
- start_interval: string
37
- end_interval: string
38
- }[]
39
- }
40
-
41
- export type Api_PersonalUnrecognizedUser = {
42
- user_id: string
43
- start_interval: string
44
- end_interval: string
45
- minutes: number
46
- }
47
-
48
- export type Api_Tasks_ReplaceInstrument_Request_Dto = {
49
- equivalent: string
50
- origin: string
51
- task: string
52
- }
53
-
54
- export type Api_QualityMetric_Request_Dto = {
55
- id: string
56
- task_id: string
57
- name: string
58
- unit: string
59
- norm_from: number
60
- norm_to: number
61
- metric_before: number | null
62
- metric_after: number | null
63
- is_normal: boolean
64
- }
65
-
66
- export type Api_Task_ChangeStatusVerification_Dto = {
67
- id: string
68
- name: string
69
- }
70
-
71
- export type Api_Tasks_Responsible_Dto = {
72
- id: string
73
- first_name: string
74
- last_name: string
75
- patronymic: string
76
- full_name: string
77
- }
78
-
79
- export type Api_Tasks_Assigned_Dto = {
80
- id: string
81
- first_name: string
82
- last_name: string
83
- patronymic: null | string
84
- full_name: string
85
- }
86
-
87
- export type Api_Tasks_Status_Dto = {
88
- id: string
89
- name: string
90
- title: string
91
- }
92
- export type Api_Tasks_Project_Dto = {
93
- id: string
94
- name: string
95
- teams: string[]
96
- }
97
- export type Api_Tasks_Position_Dto = {
98
- id: string
99
- name: string
100
- display_name: string
101
- }
102
-
103
- export type Api_Tasks_Position_Assigned_User_Dto = {
104
- id: string
105
- full_name: string
106
- }
107
-
108
- export type Api_Tasks_Brigade_Simple_Dto = {
109
- id: string
110
- name: string
111
- }
112
-
113
- export type Api_Tasks_Position_Assigned_Dto = {
114
- has_personnel_intersection?: boolean
115
- id?: number
116
- user?: Api_Tasks_Position_Assigned_User_Dto | null
117
- position?: Api_Tasks_Position_Dto
118
- brigades?: Api_Tasks_Brigade_Simple_Dto[]
119
- }
120
-
121
- export type Api_Tasks_Teams_Dto = {
122
- id: string
123
- name: string
124
- display_name: string
125
- }
126
-
127
- export type Api_Tasks_Equipment_Dto = {
128
- id: string
129
- name: string
130
- model: string
131
- registration_number: string
132
- created_at: string
133
- updated_at: string
134
- repair_frequency: number
135
- repair_range: number
136
- }
137
-
138
- export type Api_Task_VideoSource_Dto = {
139
- id: string
140
- name: string
141
- url: string
142
- work_zone_by_task: {
143
- id: string
144
- title: string
145
- }
146
- }
147
-
148
- export type Api_Task_QualityMetric_Dto = {
149
- id: string
150
- task_id: string
151
- name: string
152
- unit: string
153
- norm_from: number
154
- norm_to: number
155
- metric_before: number | null
156
- metric_after: number | null
157
- is_normal: boolean
158
- }
159
-
160
- export type APi_Task_Master_DTO = {
161
- id: string
162
- first_name: string
163
- full_name: string
164
- email: string
165
- RFID: null | string
166
- avatar: null | string
167
- avatar_id: null | string
168
- change_password: null | string
169
- created_at: null | string
170
- deleted_at: null | string
171
- dismissal_at: null | string
172
- divisions: null | string
173
- email_verified_at: null | string
174
- face_recognition_id: null | string
175
- last_name: string
176
- patronymic: null | string
177
- personnel_number: number
178
- phone: null | string
179
- profession: null | string
180
- updated_at: null | string
181
- }
182
-
183
- export type Api_Task_Available_Brigades_Dto = {
184
- id: string
185
- name: string
186
- created_at: null | string
187
- deleted_at: null | string
188
- task_master_user_id: string
189
- updated_at: string
190
- task_master: APi_Task_Master_DTO
191
- }
192
-
193
- export type Api_Tasks_Task_Dto = {
194
- id: string
195
- name: string
196
- type: string
197
- project_id: string
198
- description: string
199
- subtask_counter: number
200
- state_id: null | string
201
- start_date: string
202
- end_date: string
203
- deadline: string
204
- plan_date: string
205
- time_to_complete: null | string | number
206
- time_to_complete_sec: number | null
207
- priority: number
208
- work_zone_id: null | string
209
- location_id: null | string
210
- target: any
211
- instruments?: any[]
212
- warehouse: any[]
213
- files: any[]
214
- planned_start: null | string
215
- planned_end: null | string
216
- fact_start_date: string
217
- fact_end_date: null | string
218
- work_sec: number
219
- pause_sec: number
220
- repair_object: null | string
221
- isPause: boolean
222
- defect: string | null
223
- expired: boolean
224
- is_critical_task: boolean
225
- usage_users: boolean
226
- usage_warehouses: boolean
227
- is_detach_video_source_work_zone?: number
228
- available_brigades: Api_Task_Available_Brigades_Dto[]
229
- subtasks: Api_Tasks_Task_Dto[]
230
- status: Api_Tasks_Status_Dto
231
- project: Api_Tasks_Project_Dto
232
- position: Api_Tasks_Position_Dto[]
233
- assigned: Api_Tasks_Assigned_Dto[]
234
- responsible: Api_Tasks_Responsible_Dto[]
235
- position_assigned: Api_Tasks_Position_Assigned_Dto[]
236
- comments: Api_Comment_Dto[]
237
- teams: Api_Tasks_Teams_Dto[]
238
- equipment: Api_Tasks_Equipment_Dto
239
- instrument_types: Api_Task_Instrument_From_Warehouse[]
240
- quality_metrics: Api_Task_QualityMetric_Dto[]
241
- video_source: Api_Task_VideoSource_Dto
242
- }
243
-
244
- export type Api_Tasks_Task_Edit_Request_Dto = {
245
- name: string
246
- description?: string
247
- instruments?: string[]
248
- responsible?: string[]
249
- equipment?: string
250
- status: string
251
- assigned?: string[]
252
- position_assigned?: unknown[]
253
- files?: string[]
254
- position?: unknown[]
255
- warehouse?: string[]
256
- teams?: string[]
257
- video_source_id?: string
258
- work_zone_id?: string
259
- state_id?: string
260
- location_id?: string
261
- project_id?: string
262
- priority?: number
263
- start_date?: string // YYYY-MM-DD HH:MM
264
- plan_date?: string // YYYY-MM-DD HH:MM
265
- deadline?: string // YYYY-MM-DD HH:MM
266
- time_to_complete?: number
267
- time_to_complete_sec?: number
268
- target?: string
269
- repair_object_id?: string
270
- }
271
-
272
- export type Api_Task_Instrument_Dto = {
273
- id: string
274
- name: string
275
- }
276
-
277
- export type Api_Task_Module_Instrument_Condition = {
278
- instruments_types_conditions: Record<
279
- string,
280
- {
281
- warehouse_responsible: boolean
282
- warehouse_statuses: boolean
283
- warehouse_modules: boolean
284
- }
285
- >
286
- instruments_types_count: Record<string, number>
287
- }
288
-
289
- export type Api_Task_Instrument_From_Warehouse = {
290
- id: string
291
- name: string
292
- warehouse_prepared_quantity: number
293
- instrument_type_plan_quantity: number
294
- has_status: boolean
295
- has_module: boolean
296
- }
297
-
298
- export type Api_Task_Close_Reason = {
299
- has_reason: boolean
300
- category: string
301
- }
302
-
303
- //single task in list
304
-
305
- export type Api_Assigned_DTO = {
306
- id: string
307
- first_name: string
308
- last_name: string
309
- patronymic: string
310
- full_name: string
311
- }
312
-
313
- export type Api_Status_DTO = {
314
- id: string
315
- name: string
316
- title: string
317
- }
318
-
319
- export type Api_Teams_DTO = {
320
- id: string
321
- name: string
322
- display_name: string
323
- }
324
-
325
- export type Api_Responsible_DTO = {
326
- id: string
327
- name: string
328
- display_name: string
329
- }
330
-
331
- export type Api_VideoSource_DTO = {
332
- id: string
333
- name: string
334
- url: string
335
- work_zone_by_task: { id: string; title: string }
336
- }
337
-
338
- export type Api_Task_Intersections_DTO = {
339
- deadline: null | string
340
- fact_end_date: null | string
341
- fact_start_date: null | string
342
- id: string
343
- name: string
344
- plan_date: null | string
345
- planned_end: null | string
346
- planned_start: null | string
347
- }
348
-
349
- export type Api_Task_Dto = {
350
- id: string
351
- name: string
352
- plan_date: string
353
- deadline: string
354
- priority: number
355
- subtasks_count: number
356
- expired: boolean
357
- is_critical_path: boolean
358
- power_output_MWh: number
359
- cost_per_MWh: number
360
- isPause: boolean
361
- fact_start_date: null | string
362
- fact_end_date: null | string
363
- pause_sec: number
364
- work_sec: number
365
- has_quality_metrics: boolean
366
- responsible: Api_Responsible_DTO[]
367
- assigned: Api_Assigned_DTO[]
368
- status: Api_Status_DTO
369
- teams: Api_Teams_DTO[]
370
- video_source: Api_VideoSource_DTO
371
- defect: boolean | null
372
- }
1
+ import { Api_Comment_Dto } from '../types/Api_Comment'
2
+ export type Api_Tasks_InstrumentHistory_Item_Dto = {
3
+ interval: {
4
+ start_interval: string
5
+ end_interval: string
6
+ minutes: number | null
7
+ user: {
8
+ id: string
9
+ first_name: string
10
+ last_name: string
11
+ patronymic: string | null
12
+ full_name: string
13
+ }
14
+ }[]
15
+ minutes: number
16
+ warehouse: {
17
+ id: string
18
+ name: string
19
+ status: {
20
+ id: string
21
+ name: string
22
+ title: string
23
+ }
24
+ }
25
+ }
26
+
27
+ export type Api_Tasks_AllPersonalUser_Dto = {
28
+ users: Api_Tasks_Personal_User_Dto[]
29
+ unrecognized_users: Api_PersonalUnrecognizedUser[]
30
+ }
31
+
32
+ export type Api_Tasks_Personal_User_Dto = {
33
+ user: Api_Tasks_Position_Assigned_User_Dto
34
+ sum_minutes_interval: number
35
+ interval: {
36
+ start_interval: string
37
+ end_interval: string
38
+ }[]
39
+ }
40
+
41
+ export type Api_PersonalUnrecognizedUser = {
42
+ user_id: string
43
+ start_interval: string
44
+ end_interval: string
45
+ minutes: number
46
+ }
47
+
48
+ export type Api_Tasks_ReplaceInstrument_Request_Dto = {
49
+ equivalent: string
50
+ origin: string
51
+ task: string
52
+ }
53
+
54
+ export type Api_QualityMetric_Request_Dto = {
55
+ id: string
56
+ task_id: string
57
+ name: string
58
+ unit: string
59
+ norm_from: number
60
+ norm_to: number
61
+ metric_before: number | null
62
+ metric_after: number | null
63
+ is_normal: boolean
64
+ }
65
+
66
+ export type Api_Task_ChangeStatusVerification_Dto = {
67
+ id: string
68
+ name: string
69
+ }
70
+
71
+ export type Api_Tasks_Responsible_Dto = {
72
+ id: string
73
+ first_name: string
74
+ last_name: string
75
+ patronymic: string
76
+ full_name: string
77
+ }
78
+
79
+ export type Api_Tasks_Assigned_Dto = {
80
+ id: string
81
+ first_name: string
82
+ last_name: string
83
+ patronymic: null | string
84
+ full_name: string
85
+ }
86
+
87
+ export type Api_Tasks_Status_Dto = {
88
+ id: string
89
+ name: string
90
+ title: string
91
+ }
92
+ export type Api_Tasks_Project_Dto = {
93
+ id: string
94
+ name: string
95
+ teams: string[]
96
+ }
97
+ export type Api_Tasks_Position_Dto = {
98
+ id: string
99
+ name: string
100
+ display_name: string
101
+ }
102
+
103
+ export type Api_Tasks_Position_Assigned_User_Dto = {
104
+ id: string
105
+ full_name: string
106
+ }
107
+
108
+ export type Api_Tasks_Brigade_Simple_Dto = {
109
+ id: string
110
+ name: string
111
+ }
112
+
113
+ export type Api_Tasks_Position_Assigned_Dto = {
114
+ has_personnel_intersection?: boolean
115
+ id?: number
116
+ user?: Api_Tasks_Position_Assigned_User_Dto | null
117
+ position?: Api_Tasks_Position_Dto
118
+ brigades?: Api_Tasks_Brigade_Simple_Dto[]
119
+ }
120
+
121
+ export type Api_Tasks_Teams_Dto = {
122
+ id: string
123
+ name: string
124
+ display_name: string
125
+ }
126
+
127
+ export type Api_Tasks_Equipment_Dto = {
128
+ id: string
129
+ name: string
130
+ model: string
131
+ registration_number: string
132
+ created_at: string
133
+ updated_at: string
134
+ repair_frequency: number
135
+ repair_range: number
136
+ }
137
+
138
+ export type Api_Task_VideoSource_Dto = {
139
+ id: string
140
+ name: string
141
+ url: string
142
+ work_zone_by_task: {
143
+ id: string
144
+ title: string
145
+ }
146
+ }
147
+
148
+ export type Api_Task_QualityMetric_Dto = {
149
+ id: string
150
+ task_id: string
151
+ name: string
152
+ unit: string
153
+ norm_from: number
154
+ norm_to: number
155
+ metric_before: number | null
156
+ metric_after: number | null
157
+ is_normal: boolean
158
+ }
159
+
160
+ export type APi_Task_Master_DTO = {
161
+ id: string
162
+ first_name: string
163
+ full_name: string
164
+ email: string
165
+ RFID: null | string
166
+ avatar: null | string
167
+ avatar_id: null | string
168
+ change_password: null | string
169
+ created_at: null | string
170
+ deleted_at: null | string
171
+ dismissal_at: null | string
172
+ divisions: null | string
173
+ email_verified_at: null | string
174
+ face_recognition_id: null | string
175
+ last_name: string
176
+ patronymic: null | string
177
+ personnel_number: number
178
+ phone: null | string
179
+ profession: null | string
180
+ updated_at: null | string
181
+ }
182
+
183
+ export type Api_Task_Available_Brigades_Dto = {
184
+ id: string
185
+ name: string
186
+ created_at: null | string
187
+ deleted_at: null | string
188
+ task_master_user_id: string
189
+ updated_at: string
190
+ task_master: APi_Task_Master_DTO
191
+ }
192
+
193
+ export type Api_Tasks_Task_Dto = {
194
+ id: string
195
+ name: string
196
+ type: string
197
+ project_id: string
198
+ description: string
199
+ subtask_counter: number
200
+ state_id: null | string
201
+ start_date: string
202
+ end_date: string
203
+ deadline: string
204
+ plan_date: string
205
+ time_to_complete: null | string | number
206
+ time_to_complete_sec: number | null
207
+ priority: number
208
+ work_zone_id: null | string
209
+ location_id: null | string
210
+ target: any
211
+ instruments?: any[]
212
+ warehouse: any[]
213
+ files: any[]
214
+ planned_start: null | string
215
+ planned_end: null | string
216
+ fact_start_date: string
217
+ fact_end_date: null | string
218
+ work_sec: number
219
+ pause_sec: number
220
+ repair_object: null | string
221
+ isPause: boolean
222
+ defect: string | null
223
+ expired: boolean
224
+ is_critical_task: boolean
225
+ usage_users: boolean
226
+ usage_warehouses: boolean
227
+ is_detach_video_source_work_zone?: number
228
+ available_brigades: Api_Task_Available_Brigades_Dto[]
229
+ subtasks: Api_Tasks_Task_Dto[]
230
+ status: Api_Tasks_Status_Dto
231
+ project: Api_Tasks_Project_Dto
232
+ position: Api_Tasks_Position_Dto[]
233
+ assigned: Api_Tasks_Assigned_Dto[]
234
+ responsible: Api_Tasks_Responsible_Dto[]
235
+ position_assigned: Api_Tasks_Position_Assigned_Dto[]
236
+ comments: Api_Comment_Dto[]
237
+ teams: Api_Tasks_Teams_Dto[]
238
+ equipment: Api_Tasks_Equipment_Dto
239
+ instrument_types: Api_Task_Instrument_From_Warehouse[]
240
+ quality_metrics: Api_Task_QualityMetric_Dto[]
241
+ video_source: Api_Task_VideoSource_Dto
242
+ }
243
+
244
+ export type Api_Tasks_Task_Edit_Request_Dto = {
245
+ name: string
246
+ description?: string
247
+ instruments?: string[]
248
+ responsible?: string[]
249
+ equipment?: string
250
+ status: string
251
+ assigned?: string[]
252
+ position_assigned?: unknown[]
253
+ files?: string[]
254
+ position?: unknown[]
255
+ warehouse?: string[]
256
+ teams?: string[]
257
+ video_source_id?: string
258
+ work_zone_id?: string
259
+ state_id?: string
260
+ location_id?: string
261
+ project_id?: string
262
+ priority?: number
263
+ start_date?: string // YYYY-MM-DD HH:MM
264
+ plan_date?: string // YYYY-MM-DD HH:MM
265
+ deadline?: string // YYYY-MM-DD HH:MM
266
+ time_to_complete?: number
267
+ time_to_complete_sec?: number
268
+ target?: string
269
+ repair_object_id?: string
270
+ }
271
+
272
+ export type Api_Task_Instrument_Dto = {
273
+ id: string
274
+ name: string
275
+ }
276
+
277
+ export type Api_Task_Module_Instrument_Condition = {
278
+ instruments_types_conditions: Record<
279
+ string,
280
+ {
281
+ warehouse_responsible: boolean
282
+ warehouse_statuses: boolean
283
+ warehouse_modules: boolean
284
+ }
285
+ >
286
+ instruments_types_count: Record<string, number>
287
+ }
288
+
289
+ export type Api_Task_Instrument_From_Warehouse = {
290
+ id: string
291
+ name: string
292
+ warehouse_prepared_quantity: number
293
+ instrument_type_plan_quantity: number
294
+ has_status: boolean
295
+ has_module: boolean
296
+ }
297
+
298
+ export type Api_Task_Close_Reason = {
299
+ has_reason: boolean
300
+ category: string
301
+ }
302
+
303
+ //single task in list
304
+
305
+ export type Api_Assigned_DTO = {
306
+ id: string
307
+ first_name: string
308
+ last_name: string
309
+ patronymic: string
310
+ full_name: string
311
+ }
312
+
313
+ export type Api_Status_DTO = {
314
+ id: string
315
+ name: string
316
+ title: string
317
+ }
318
+
319
+ export type Api_Teams_DTO = {
320
+ id: string
321
+ name: string
322
+ display_name: string
323
+ }
324
+
325
+ export type Api_Responsible_DTO = {
326
+ id: string
327
+ name: string
328
+ display_name: string
329
+ }
330
+
331
+ export type Api_VideoSource_DTO = {
332
+ id: string
333
+ name: string
334
+ url: string
335
+ work_zone_by_task: { id: string; title: string }
336
+ }
337
+
338
+ export type Api_Task_Intersections_DTO = {
339
+ deadline: null | string
340
+ fact_end_date: null | string
341
+ fact_start_date: null | string
342
+ id: string
343
+ name: string
344
+ plan_date: null | string
345
+ planned_end: null | string
346
+ planned_start: null | string
347
+ }
348
+
349
+ export type Api_Task_Dto = {
350
+ id: string
351
+ name: string
352
+ plan_date: string
353
+ deadline: string
354
+ priority: number
355
+ subtasks_count: number
356
+ expired: boolean
357
+ is_critical_path: boolean
358
+ power_output_MWh: number
359
+ cost_per_MWh: number
360
+ isPause: boolean
361
+ fact_start_date: null | string
362
+ fact_end_date: null | string
363
+ pause_sec: number
364
+ work_sec: number
365
+ has_quality_metrics: boolean
366
+ responsible: Api_Responsible_DTO[]
367
+ assigned: Api_Assigned_DTO[]
368
+ status: Api_Status_DTO
369
+ teams: Api_Teams_DTO[]
370
+ video_source: Api_VideoSource_DTO
371
+ defect: boolean | null
372
+ }