shared-ritm 1.2.54 → 1.2.55

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 (74) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/shared-ritm.es.js +4778 -4771
  3. package/dist/shared-ritm.umd.js +7 -7
  4. package/dist/types/api/types/Api_Controls.d.ts +6 -6
  5. package/package.json +1 -1
  6. package/src/App.vue +2461 -2461
  7. package/src/api/services/AuthService.ts +58 -58
  8. package/src/api/services/ControlsService.ts +64 -64
  9. package/src/api/services/FileService.ts +15 -15
  10. package/src/api/services/TasksService.ts +137 -137
  11. package/src/api/settings/ApiService.ts +128 -128
  12. package/src/api/types/Api_Controls.ts +72 -72
  13. package/src/common/app-button/AppButton.vue +173 -173
  14. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  15. package/src/common/app-icon/AppIcon.vue +108 -108
  16. package/src/common/app-input/AppInput.vue +147 -147
  17. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  18. package/src/common/app-layout/AppLayout.vue +84 -84
  19. package/src/common/app-layout/components/AppLayoutHeader.vue +246 -246
  20. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  21. package/src/common/app-loader/index.vue +43 -43
  22. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  23. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  24. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  25. package/src/common/app-table/AppTable.vue +8 -5
  26. package/src/common/app-table/AppTableLayout.vue +24 -24
  27. package/src/common/app-table/components/ModalSelect.vue +264 -264
  28. package/src/common/app-table/components/TableModal.vue +357 -357
  29. package/src/common/app-table/controllers/useBaseTable.ts +42 -42
  30. package/src/global.d.ts +1 -1
  31. package/src/icons/components/arrow-down-icon.vue +25 -25
  32. package/src/icons/components/arrow-frame-icon.vue +19 -19
  33. package/src/icons/components/arrow-square.vue +22 -22
  34. package/src/icons/header/NotificationIcon.vue +18 -18
  35. package/src/icons/header/PersonIcon.vue +11 -11
  36. package/src/icons/header/SettingIcon.vue +14 -14
  37. package/src/icons/header/flashIcon.vue +24 -24
  38. package/src/icons/header/searchStatusIcon.vue +24 -24
  39. package/src/icons/header/smallCapsIcon.vue +34 -34
  40. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  41. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  42. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  43. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  44. package/src/icons/sidebar/instruments-icon.vue +45 -45
  45. package/src/icons/sidebar/logo-icon.vue +15 -15
  46. package/src/icons/sidebar/logout-icon.vue +13 -13
  47. package/src/icons/sidebar/modules-icon.vue +16 -16
  48. package/src/icons/sidebar/notifications-icon.vue +24 -24
  49. package/src/icons/sidebar/order-icon.vue +44 -44
  50. package/src/icons/sidebar/pass-icon.vue +38 -38
  51. package/src/icons/sidebar/positions-icon.vue +42 -42
  52. package/src/icons/sidebar/preorder-icon.vue +19 -19
  53. package/src/icons/sidebar/projects-icon.vue +31 -31
  54. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  55. package/src/icons/sidebar/repairs-icon.vue +20 -20
  56. package/src/icons/sidebar/roles-icon.vue +26 -26
  57. package/src/icons/sidebar/status-history-icon.vue +24 -24
  58. package/src/icons/sidebar/tasks-icon.vue +28 -28
  59. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  60. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  61. package/src/icons/sidebar/teams-icon.vue +32 -32
  62. package/src/icons/sidebar/user-icon.vue +18 -18
  63. package/src/icons/sidebar/users-icon.vue +46 -46
  64. package/src/icons/sidebar/videosources-icon.vue +19 -19
  65. package/src/icons/sidebar/videowall-icon.vue +13 -13
  66. package/src/icons/sidebar/videozones-icon.vue +21 -21
  67. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  68. package/src/icons/sidebar/workshop-icon.vue +100 -100
  69. package/src/icons/sidebar/workzones-icon.vue +22 -22
  70. package/src/index.ts +84 -84
  71. package/src/main.ts +28 -28
  72. package/src/quasar-user-options.ts +17 -17
  73. package/src/router/index.ts +10 -10
  74. package/src/shims-vue.d.ts +5 -5
@@ -1,58 +1,58 @@
1
- import ApiService from '@/api/settings/ApiService'
2
-
3
- export type LoginPayload = {
4
- email: string
5
- password: string
6
- }
7
-
8
- export type LoginResponse = {
9
- token: string
10
- user: any
11
- }
12
-
13
- export type ChangePasswordPayload = {
14
- password: string
15
- password_confirmation: string
16
- }
17
-
18
- export type ChangePasswordResponse = any
19
- export type ConfigResponse = any
20
-
21
- class AuthService extends ApiService {
22
- public login(email: string, password: string) {
23
- return this.post<LoginPayload, LoginResponse>(`/login`, {
24
- email,
25
- password,
26
- })
27
- }
28
-
29
- public loginPhoto(photo: any) {
30
- return this.post<any, LoginResponse>(`/login/from_photo`, { photo })
31
- }
32
-
33
- public logout() {
34
- return this.post<null, LoginResponse>(`/logout`, null)
35
- }
36
-
37
- public userInfo() {
38
- return this.get<any>(`/users/auth`)
39
- }
40
-
41
- public configs() {
42
- return this.get<ConfigResponse>(`/configs`)
43
- }
44
-
45
- public changePassword(id: string, password: string, password_confirmation: string) {
46
- return this.put<ChangePasswordPayload, ChangePasswordResponse>(`/users/${id}/password`, {
47
- password,
48
- password_confirmation,
49
- })
50
- }
51
- }
52
-
53
- let api: AuthService
54
-
55
- export default function useAuthService() {
56
- if (!api) api = new AuthService()
57
- return api
58
- }
1
+ import ApiService from '@/api/settings/ApiService'
2
+
3
+ export type LoginPayload = {
4
+ email: string
5
+ password: string
6
+ }
7
+
8
+ export type LoginResponse = {
9
+ token: string
10
+ user: any
11
+ }
12
+
13
+ export type ChangePasswordPayload = {
14
+ password: string
15
+ password_confirmation: string
16
+ }
17
+
18
+ export type ChangePasswordResponse = any
19
+ export type ConfigResponse = any
20
+
21
+ class AuthService extends ApiService {
22
+ public login(email: string, password: string) {
23
+ return this.post<LoginPayload, LoginResponse>(`/login`, {
24
+ email,
25
+ password,
26
+ })
27
+ }
28
+
29
+ public loginPhoto(photo: any) {
30
+ return this.post<any, LoginResponse>(`/login/from_photo`, { photo })
31
+ }
32
+
33
+ public logout() {
34
+ return this.post<null, LoginResponse>(`/logout`, null)
35
+ }
36
+
37
+ public userInfo() {
38
+ return this.get<any>(`/users/auth`)
39
+ }
40
+
41
+ public configs() {
42
+ return this.get<ConfigResponse>(`/configs`)
43
+ }
44
+
45
+ public changePassword(id: string, password: string, password_confirmation: string) {
46
+ return this.put<ChangePasswordPayload, ChangePasswordResponse>(`/users/${id}/password`, {
47
+ password,
48
+ password_confirmation,
49
+ })
50
+ }
51
+ }
52
+
53
+ let api: AuthService
54
+
55
+ export default function useAuthService() {
56
+ if (!api) api = new AuthService()
57
+ return api
58
+ }
@@ -1,64 +1,64 @@
1
- import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
-
3
- import { Api_ControlLogs_Dto, Api_ControlZones_Dto } from '@/api/types/Api_Controls'
4
-
5
- class ControlsService extends ApiService {
6
- public fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>> {
7
- return this.get('/frame/list', { params })
8
- }
9
-
10
- public async fetchControlZone(id: string): Promise<ResponseApi<Api_ControlZones_Dto>> {
11
- return this.get(`/frame/${id}`)
12
- }
13
-
14
- public createControlZone(params: any): Promise<ResponseApi<any>> {
15
- return this.post<any, ResponseApi<any>>('/frame', params)
16
- }
17
-
18
- public editControlZone(id: string, params: any): Promise<ResponseApi<any>> {
19
- return this.put<any, ResponseApi<any>>(`/frame/${id}`, params)
20
- }
21
-
22
- public deleteControlZone(id: string): Promise<any> {
23
- return this.delete<ResponseApi<any>>(`/frame/${id}`)
24
- }
25
-
26
- public fetchControlLogs(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
27
- return this.get('/exposed_equipment_zones/list', { params })
28
- }
29
-
30
- public fetchControllers(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
31
- return this.get('/frame/controllers/list', { params })
32
- }
33
-
34
- public fetchUsersWithPasses(): Promise<any> {
35
- return this.get('inspector/users-with-passes')
36
- }
37
-
38
- public fetchWarehousesList(): Promise<any> {
39
- return this.get('tasks/warehouse/list?only_outside_exposed_equipment_zone=1')
40
- }
41
-
42
- public manualEntry(params: any): Promise<ResponseApi<any>> {
43
- return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/enter', params)
44
- }
45
-
46
- public manualExit(params: any): Promise<ResponseApi<any>> {
47
- return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/exit', params)
48
- }
49
-
50
- public deleteControlLogs(params: any): Promise<any> {
51
- return this.delete<ResponseApi<any>>(`exposed_equipment_zones`, params)
52
- }
53
-
54
- public fetchInstrumentTypeList(params: any): Promise<any> {
55
- return this.get<ResponseApi<any>>(`search/instrument_types`, { params })
56
- }
57
- }
58
-
59
- let api: ControlsService
60
-
61
- export default function useControlsService() {
62
- if (!api) api = new ControlsService()
63
- return api
64
- }
1
+ import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
+
3
+ import { Api_ControlLogs_Dto, Api_ControlZones_Dto } from '@/api/types/Api_Controls'
4
+
5
+ class ControlsService extends ApiService {
6
+ public fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>> {
7
+ return this.get('/frame/list', { params })
8
+ }
9
+
10
+ public async fetchControlZone(id: string): Promise<ResponseApi<Api_ControlZones_Dto>> {
11
+ return this.get(`/frame/${id}`)
12
+ }
13
+
14
+ public createControlZone(params: any): Promise<ResponseApi<any>> {
15
+ return this.post<any, ResponseApi<any>>('/frame', params)
16
+ }
17
+
18
+ public editControlZone(id: string, params: any): Promise<ResponseApi<any>> {
19
+ return this.put<any, ResponseApi<any>>(`/frame/${id}`, params)
20
+ }
21
+
22
+ public deleteControlZone(id: string): Promise<any> {
23
+ return this.delete<ResponseApi<any>>(`/frame/${id}`)
24
+ }
25
+
26
+ public fetchControlLogs(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
27
+ return this.get('/exposed_equipment_zones/list', { params })
28
+ }
29
+
30
+ public fetchControllers(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
31
+ return this.get('/frame/controllers/list', { params })
32
+ }
33
+
34
+ public fetchUsersWithPasses(): Promise<any> {
35
+ return this.get('inspector/users-with-passes')
36
+ }
37
+
38
+ public fetchWarehousesList(): Promise<any> {
39
+ return this.get('tasks/warehouse/list?only_outside_exposed_equipment_zone=1')
40
+ }
41
+
42
+ public manualEntry(params: any): Promise<ResponseApi<any>> {
43
+ return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/enter', params)
44
+ }
45
+
46
+ public manualExit(params: any): Promise<ResponseApi<any>> {
47
+ return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/exit', params)
48
+ }
49
+
50
+ public deleteControlLogs(params: any): Promise<any> {
51
+ return this.delete<ResponseApi<any>>(`exposed_equipment_zones`, params)
52
+ }
53
+
54
+ public fetchInstrumentTypeList(params: any): Promise<any> {
55
+ return this.get<ResponseApi<any>>(`search/instrument_types`, { params })
56
+ }
57
+ }
58
+
59
+ let api: ControlsService
60
+
61
+ export default function useControlsService() {
62
+ if (!api) api = new ControlsService()
63
+ return api
64
+ }
@@ -1,15 +1,15 @@
1
- import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
- import { Api_Files_Responsible_Dto } from '@/api/types/Api_Files'
3
-
4
- class FileService extends ApiService {
5
- public uploadFile(data: FormData): Promise<ResponseApi<Api_Files_Responsible_Dto>> {
6
- return this.post<FormData, any>(`/upload-file`, data, { headers: { 'Content-Type': 'multipart/form-data' } })
7
- }
8
- }
9
-
10
- let api: FileService
11
-
12
- export default function useFileService() {
13
- if (!api) api = new FileService()
14
- return api
15
- }
1
+ import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
+ import { Api_Files_Responsible_Dto } from '@/api/types/Api_Files'
3
+
4
+ class FileService extends ApiService {
5
+ public uploadFile(data: FormData): Promise<ResponseApi<Api_Files_Responsible_Dto>> {
6
+ return this.post<FormData, any>(`/upload-file`, data, { headers: { 'Content-Type': 'multipart/form-data' } })
7
+ }
8
+ }
9
+
10
+ let api: FileService
11
+
12
+ export default function useFileService() {
13
+ if (!api) api = new FileService()
14
+ return api
15
+ }
@@ -1,137 +1,137 @@
1
- import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
- import {
3
- Api_Task_Close_Reason,
4
- Api_Task_Instrument_Dto,
5
- Api_Task_Instrument_From_Warehouse,
6
- Api_Task_Module_Instrument_Condition,
7
- Api_Tasks_Dto,
8
- Api_Tasks_Task_Dto,
9
- } from '@/api/types/Api_Tasks'
10
- import { Api_Equipment_Full_Dto, Api_Task_Video_Source, Api_Task_Video_Source_Stream } from '@/api/types/Api_Repairs'
11
-
12
- class TasksService extends ApiService {
13
- public async fetchTaskById(id: string): Promise<ResponseApi<Api_Tasks_Task_Dto>> {
14
- return await this.get(`/tasks/${id}`)
15
- }
16
-
17
- public async fetchTasksList(params: any): Promise<ResponseApi<Api_Tasks_Dto[]>> {
18
- return await this.get('/list/tasks/search', { params })
19
- }
20
-
21
- public async fetchSubtasksList(id: string): Promise<ResponseApi<Api_Tasks_Dto[]>> {
22
- return await this.get(`/task/${id}/subtasks/list`)
23
- }
24
-
25
- public async fetchTaskBranch(id: string): Promise<ResponseApi<any>> {
26
- return await this.get(`/get_list_task_branch?task_id=${id}`)
27
- }
28
-
29
- public async fetchInstrumentsList(params: any): Promise<ResponseApi<any[]>> {
30
- return await this.get('admin/instruments', { params })
31
- }
32
-
33
- public async fetchInstrumentTypeListWithPreparedWarehouse(params: {
34
- page: number
35
- per_page: number
36
- 'filterList[taskId]'?: string | undefined
37
- search?: string
38
- }): Promise<Api_Task_Instrument_From_Warehouse[]> {
39
- return await this.get('/instrument_type/get_instrument_type_list_with_prepared_warehouse', { params })
40
- }
41
-
42
- public async fetchInstrumentsEquivalentList(params: any): Promise<ResponseApi<Api_Task_Instrument_Dto[]>> {
43
- return await this.get('tasks/instrument/list', { params })
44
- }
45
-
46
- public async fetchDiffInstruments(params: any): Promise<ResponseApi<Api_Task_Module_Instrument_Condition>> {
47
- return await this.get(`tasks/${params.taskId}/fill/module`, { params })
48
- }
49
-
50
- public async replaceInstruments(payload: any): Promise<ResponseApi<any>> {
51
- return await this.post(`/instruments/equivalent/attach`, payload)
52
- }
53
-
54
- public async fetchTaskUsagePersonal(params: any): Promise<ResponseApi<unknown[]>> {
55
- return await this.get(`tasks/${params.taskId}/usage/users`, { params })
56
- }
57
-
58
- public async fetchTaskUsageInstrument(params: any): Promise<ResponseApi<unknown[]>> {
59
- return await this.get(`tasks/${params.taskId}/usage/instruments`, { params })
60
- }
61
-
62
- public fetchEquipment(params: any): Promise<ResponseApi<Api_Equipment_Full_Dto[]>> {
63
- return this.get('repairs/equipment/list', { params })
64
- }
65
-
66
- public fetchTaskVideoSources(params: any): Promise<ResponseApi<Api_Task_Video_Source[]>> {
67
- return this.get('work_zone/get_list_video_source', { params })
68
- }
69
-
70
- public fetchTaskVideoSourcesStream(params: any): Promise<ResponseApi<Api_Task_Video_Source_Stream[]>> {
71
- return this.get('horizon/video-source', { params })
72
- }
73
-
74
- public createWorkZone(payload: any): Promise<unknown> {
75
- return this.post('admin/work-zones', payload)
76
- }
77
-
78
- public async createTask(payload: any): Promise<ResponseApi<any>> {
79
- return await this.post(`tasks`, payload)
80
- }
81
-
82
- public async editTask(payload: any): Promise<ResponseApi<any>> {
83
- return await this.put(`tasks/${payload.taskId}`, payload.data)
84
- }
85
-
86
- public async mergeTask(payload: { name: string; tasks_id: string[] }): Promise<ResponseApi<any>> {
87
- return await this.post(`tasks/merge`, payload)
88
- }
89
-
90
- public async deleteTask(id: string): Promise<any> {
91
- return await this.delete(`tasks/${id}`)
92
- }
93
-
94
- public async changeStatus(payload: { taskId: string; data: unknown }): Promise<unknown> {
95
- const { taskId, data } = payload
96
- return await this.put(`task/${taskId}/change-status`, data)
97
- }
98
-
99
- public async uploadComment(payload: unknown): Promise<unknown> {
100
- return await this.post('comments', payload)
101
- }
102
-
103
- public async deleteComment(commentId: string): Promise<unknown> {
104
- return await this.delete(`comments/${commentId}`)
105
- }
106
-
107
- public async editComment(payload: { commentId: string; data: unknown }): Promise<unknown> {
108
- const { commentId, data } = payload
109
- return await this.put(`comments/${commentId}`, data)
110
- }
111
-
112
- public async saveMetrics(payload: unknown): Promise<unknown> {
113
- return await this.put('/update_quality_metrics', payload)
114
- }
115
-
116
- public async checkReasonForStatus(payload: { task_Id: string; data: unknown }): Promise<Api_Task_Close_Reason> {
117
- return await this.post('/tasks/check_reason_for_task', payload)
118
- }
119
-
120
- public async verifyTaskStatus(payload: { task_id: string; data: unknown }): Promise<unknown> {
121
- const { task_id, data } = payload
122
- return await this.get(`/task/${task_id}/change-status/verification`, {
123
- params: data,
124
- })
125
- }
126
-
127
- public async checkBranchBeforeCloseTask(payload: { task_Id: string }): Promise<unknown> {
128
- return await this.post(`/check_branch_before_close_task`, payload)
129
- }
130
- }
131
-
132
- let api: TasksService
133
-
134
- export default function useTasksService() {
135
- if (!api) api = new TasksService()
136
- return api
137
- }
1
+ import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
+ import {
3
+ Api_Task_Close_Reason,
4
+ Api_Task_Instrument_Dto,
5
+ Api_Task_Instrument_From_Warehouse,
6
+ Api_Task_Module_Instrument_Condition,
7
+ Api_Tasks_Dto,
8
+ Api_Tasks_Task_Dto,
9
+ } from '@/api/types/Api_Tasks'
10
+ import { Api_Equipment_Full_Dto, Api_Task_Video_Source, Api_Task_Video_Source_Stream } from '@/api/types/Api_Repairs'
11
+
12
+ class TasksService extends ApiService {
13
+ public async fetchTaskById(id: string): Promise<ResponseApi<Api_Tasks_Task_Dto>> {
14
+ return await this.get(`/tasks/${id}`)
15
+ }
16
+
17
+ public async fetchTasksList(params: any): Promise<ResponseApi<Api_Tasks_Dto[]>> {
18
+ return await this.get('/list/tasks/search', { params })
19
+ }
20
+
21
+ public async fetchSubtasksList(id: string): Promise<ResponseApi<Api_Tasks_Dto[]>> {
22
+ return await this.get(`/task/${id}/subtasks/list`)
23
+ }
24
+
25
+ public async fetchTaskBranch(id: string): Promise<ResponseApi<any>> {
26
+ return await this.get(`/get_list_task_branch?task_id=${id}`)
27
+ }
28
+
29
+ public async fetchInstrumentsList(params: any): Promise<ResponseApi<any[]>> {
30
+ return await this.get('admin/instruments', { params })
31
+ }
32
+
33
+ public async fetchInstrumentTypeListWithPreparedWarehouse(params: {
34
+ page: number
35
+ per_page: number
36
+ 'filterList[taskId]'?: string | undefined
37
+ search?: string
38
+ }): Promise<Api_Task_Instrument_From_Warehouse[]> {
39
+ return await this.get('/instrument_type/get_instrument_type_list_with_prepared_warehouse', { params })
40
+ }
41
+
42
+ public async fetchInstrumentsEquivalentList(params: any): Promise<ResponseApi<Api_Task_Instrument_Dto[]>> {
43
+ return await this.get('tasks/instrument/list', { params })
44
+ }
45
+
46
+ public async fetchDiffInstruments(params: any): Promise<ResponseApi<Api_Task_Module_Instrument_Condition>> {
47
+ return await this.get(`tasks/${params.taskId}/fill/module`, { params })
48
+ }
49
+
50
+ public async replaceInstruments(payload: any): Promise<ResponseApi<any>> {
51
+ return await this.post(`/instruments/equivalent/attach`, payload)
52
+ }
53
+
54
+ public async fetchTaskUsagePersonal(params: any): Promise<ResponseApi<unknown[]>> {
55
+ return await this.get(`tasks/${params.taskId}/usage/users`, { params })
56
+ }
57
+
58
+ public async fetchTaskUsageInstrument(params: any): Promise<ResponseApi<unknown[]>> {
59
+ return await this.get(`tasks/${params.taskId}/usage/instruments`, { params })
60
+ }
61
+
62
+ public fetchEquipment(params: any): Promise<ResponseApi<Api_Equipment_Full_Dto[]>> {
63
+ return this.get('repairs/equipment/list', { params })
64
+ }
65
+
66
+ public fetchTaskVideoSources(params: any): Promise<ResponseApi<Api_Task_Video_Source[]>> {
67
+ return this.get('work_zone/get_list_video_source', { params })
68
+ }
69
+
70
+ public fetchTaskVideoSourcesStream(params: any): Promise<ResponseApi<Api_Task_Video_Source_Stream[]>> {
71
+ return this.get('horizon/video-source', { params })
72
+ }
73
+
74
+ public createWorkZone(payload: any): Promise<unknown> {
75
+ return this.post('admin/work-zones', payload)
76
+ }
77
+
78
+ public async createTask(payload: any): Promise<ResponseApi<any>> {
79
+ return await this.post(`tasks`, payload)
80
+ }
81
+
82
+ public async editTask(payload: any): Promise<ResponseApi<any>> {
83
+ return await this.put(`tasks/${payload.taskId}`, payload.data)
84
+ }
85
+
86
+ public async mergeTask(payload: { name: string; tasks_id: string[] }): Promise<ResponseApi<any>> {
87
+ return await this.post(`tasks/merge`, payload)
88
+ }
89
+
90
+ public async deleteTask(id: string): Promise<any> {
91
+ return await this.delete(`tasks/${id}`)
92
+ }
93
+
94
+ public async changeStatus(payload: { taskId: string; data: unknown }): Promise<unknown> {
95
+ const { taskId, data } = payload
96
+ return await this.put(`task/${taskId}/change-status`, data)
97
+ }
98
+
99
+ public async uploadComment(payload: unknown): Promise<unknown> {
100
+ return await this.post('comments', payload)
101
+ }
102
+
103
+ public async deleteComment(commentId: string): Promise<unknown> {
104
+ return await this.delete(`comments/${commentId}`)
105
+ }
106
+
107
+ public async editComment(payload: { commentId: string; data: unknown }): Promise<unknown> {
108
+ const { commentId, data } = payload
109
+ return await this.put(`comments/${commentId}`, data)
110
+ }
111
+
112
+ public async saveMetrics(payload: unknown): Promise<unknown> {
113
+ return await this.put('/update_quality_metrics', payload)
114
+ }
115
+
116
+ public async checkReasonForStatus(payload: { task_Id: string; data: unknown }): Promise<Api_Task_Close_Reason> {
117
+ return await this.post('/tasks/check_reason_for_task', payload)
118
+ }
119
+
120
+ public async verifyTaskStatus(payload: { task_id: string; data: unknown }): Promise<unknown> {
121
+ const { task_id, data } = payload
122
+ return await this.get(`/task/${task_id}/change-status/verification`, {
123
+ params: data,
124
+ })
125
+ }
126
+
127
+ public async checkBranchBeforeCloseTask(payload: { task_Id: string }): Promise<unknown> {
128
+ return await this.post(`/check_branch_before_close_task`, payload)
129
+ }
130
+ }
131
+
132
+ let api: TasksService
133
+
134
+ export default function useTasksService() {
135
+ if (!api) api = new TasksService()
136
+ return api
137
+ }