shared-ritm 1.2.137 → 1.2.139

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 (133) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +174 -166
  4. package/dist/shared-ritm.umd.js +38 -38
  5. package/dist/types/api/services/PhotoService.d.ts +40 -0
  6. package/dist/types/api/services/RepairsService.d.ts +1 -1
  7. package/dist/types/api/types/Api_Repairs.d.ts +8 -11
  8. package/dist/types/api/types/Api_Tasks.d.ts +1 -1
  9. package/package.json +64 -64
  10. package/src/App.vue +2461 -2461
  11. package/src/api/services/AuthService.ts +53 -53
  12. package/src/api/services/BrigadesService.ts +32 -32
  13. package/src/api/services/CommentsService.ts +24 -24
  14. package/src/api/services/ControlsService.ts +92 -92
  15. package/src/api/services/EquipmentService.ts +29 -29
  16. package/src/api/services/FileService.ts +17 -17
  17. package/src/api/services/GanttService.ts +17 -17
  18. package/src/api/services/InstrumentsService.ts +63 -63
  19. package/src/api/services/MetricsService.ts +110 -110
  20. package/src/api/services/ModulesService.ts +27 -27
  21. package/src/api/services/ProjectsService.ts +83 -83
  22. package/src/api/services/RepairsService.ts +124 -124
  23. package/src/api/services/ScheduleService.ts +69 -69
  24. package/src/api/services/SearchService.ts +22 -22
  25. package/src/api/services/TasksService.ts +145 -145
  26. package/src/api/services/UserService.ts +113 -113
  27. package/src/api/services/VideoService.ts +103 -103
  28. package/src/api/settings/ApiService.ts +124 -124
  29. package/src/api/types/Api_Auth.ts +86 -86
  30. package/src/api/types/Api_Brigades.ts +36 -36
  31. package/src/api/types/Api_Comment.ts +40 -40
  32. package/src/api/types/Api_Controls.ts +111 -111
  33. package/src/api/types/Api_Equipment.ts +3 -3
  34. package/src/api/types/Api_Files.ts +7 -7
  35. package/src/api/types/Api_Instruments.ts +136 -136
  36. package/src/api/types/Api_Modules.ts +21 -21
  37. package/src/api/types/Api_Projects.ts +61 -61
  38. package/src/api/types/Api_Repairs.ts +140 -138
  39. package/src/api/types/Api_Schedule.ts +64 -64
  40. package/src/api/types/Api_Search.ts +79 -79
  41. package/src/api/types/Api_Service.ts +9 -9
  42. package/src/api/types/Api_Tasks.ts +319 -319
  43. package/src/api/types/Api_User.ts +140 -140
  44. package/src/api/types/Api_Video.ts +145 -145
  45. package/src/common/app-button/AppButton.vue +173 -173
  46. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  47. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  48. package/src/common/app-datepicker/AppDatepicker.vue +176 -166
  49. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  50. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  51. package/src/common/app-icon/AppIcon.vue +108 -108
  52. package/src/common/app-input/AppInput.vue +148 -148
  53. package/src/common/app-input-new/AppInputNew.vue +175 -175
  54. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  55. package/src/common/app-layout/AppLayout.vue +84 -84
  56. package/src/common/app-layout/components/AppLayoutHeader.vue +273 -273
  57. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  58. package/src/common/app-loader/index.vue +43 -43
  59. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  60. package/src/common/app-select/AppSelect.vue +157 -157
  61. package/src/common/app-sheet/AppSheet.vue +120 -120
  62. package/src/common/app-sheet-new/AppSheetNew.vue +244 -244
  63. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  64. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  65. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  66. package/src/common/app-table/AppTable.vue +308 -308
  67. package/src/common/app-table/AppTableLayout.vue +137 -137
  68. package/src/common/app-table/components/ModalSelect.vue +285 -285
  69. package/src/common/app-table/components/TableModal.vue +356 -356
  70. package/src/common/app-table/components/TablePagination.vue +152 -152
  71. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  72. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  73. package/src/common/app-table/controllers/useTableModel.ts +102 -102
  74. package/src/common/app-toggle/AppToggle.vue +24 -24
  75. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  76. package/src/global.d.ts +1 -1
  77. package/src/icons/components/arrow-down-icon.vue +25 -25
  78. package/src/icons/components/arrow-frame-icon.vue +19 -19
  79. package/src/icons/components/arrow-square.vue +22 -22
  80. package/src/icons/components/table-filter-icon.vue +30 -30
  81. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  82. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  83. package/src/icons/header/NotificationIcon.vue +18 -18
  84. package/src/icons/header/PersonIcon.vue +11 -11
  85. package/src/icons/header/SettingIcon.vue +14 -14
  86. package/src/icons/header/flashIcon.vue +24 -24
  87. package/src/icons/header/searchStatusIcon.vue +24 -24
  88. package/src/icons/header/smallCapsIcon.vue +34 -34
  89. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  90. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  91. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  92. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  93. package/src/icons/sidebar/instruments-icon.vue +45 -45
  94. package/src/icons/sidebar/logo-icon.vue +15 -15
  95. package/src/icons/sidebar/logout-icon.vue +13 -13
  96. package/src/icons/sidebar/modules-icon.vue +16 -16
  97. package/src/icons/sidebar/notifications-icon.vue +24 -24
  98. package/src/icons/sidebar/order-icon.vue +44 -44
  99. package/src/icons/sidebar/pass-icon.vue +38 -38
  100. package/src/icons/sidebar/positions-icon.vue +42 -42
  101. package/src/icons/sidebar/preorder-icon.vue +19 -19
  102. package/src/icons/sidebar/projects-icon.vue +31 -31
  103. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  104. package/src/icons/sidebar/repairs-icon.vue +20 -20
  105. package/src/icons/sidebar/roles-icon.vue +26 -26
  106. package/src/icons/sidebar/status-history-icon.vue +24 -24
  107. package/src/icons/sidebar/tasks-icon.vue +28 -28
  108. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  109. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  110. package/src/icons/sidebar/teams-icon.vue +32 -32
  111. package/src/icons/sidebar/user-icon.vue +18 -18
  112. package/src/icons/sidebar/users-icon.vue +46 -46
  113. package/src/icons/sidebar/videosources-icon.vue +19 -19
  114. package/src/icons/sidebar/videowall-icon.vue +13 -13
  115. package/src/icons/sidebar/videozones-icon.vue +21 -21
  116. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  117. package/src/icons/sidebar/workshop-icon.vue +100 -100
  118. package/src/icons/sidebar/workzones-icon.vue +22 -22
  119. package/src/icons/task/attention-icon.vue +13 -13
  120. package/src/icons/task/clock-icon.vue +10 -10
  121. package/src/icons/task/delete-icon.vue +10 -10
  122. package/src/icons/task/fire-icon.vue +16 -16
  123. package/src/index.ts +126 -126
  124. package/src/main.ts +28 -28
  125. package/src/quasar-user-options.ts +17 -17
  126. package/src/router/index.ts +10 -10
  127. package/src/shared/styles/general.css +124 -124
  128. package/src/shims-vue.d.ts +5 -5
  129. package/src/styles/variables.sass +12 -12
  130. package/src/utils/confirm.ts +12 -12
  131. package/src/utils/faceApiHelper.ts +132 -132
  132. package/src/utils/helpers.ts +59 -59
  133. package/src/utils/notification.ts +9 -9
@@ -1,21 +1,21 @@
1
- import { Api_Search_Module } from '@/api/types/Api_Search'
2
- import { Api_Instrument, Api_Instrument_Location } from '@/api/types/Api_Instruments'
3
-
4
- export type Api_Module_Create = Pick<Api_Search_Module, 'RFID' | 'inventory_number' | 'title' | 'type'> & {
5
- user_id: string
6
- teams: string[]
7
- }
8
-
9
- export type Api_Module = Api_Search_Module & {
10
- auth_count: number
11
- auth_failed_count: number
12
- instrument: Pick<Api_Instrument, 'id' | 'RFID' | 'instrument_id' | 'inventory_number' | 'name'> | null
13
- inventory_completed_count: number
14
- location: Pick<Api_Instrument_Location, 'id' | 'name' | 'title' | 'state_id' | 'description'> | null
15
- location_id: string | null
16
- team_id: string | null
17
- tun: unknown
18
- user_id: string
19
- warehouse_id: string | null
20
- work_zones: unknown[]
21
- }
1
+ import { Api_Search_Module } from '@/api/types/Api_Search'
2
+ import { Api_Instrument, Api_Instrument_Location } from '@/api/types/Api_Instruments'
3
+
4
+ export type Api_Module_Create = Pick<Api_Search_Module, 'RFID' | 'inventory_number' | 'title' | 'type'> & {
5
+ user_id: string
6
+ teams: string[]
7
+ }
8
+
9
+ export type Api_Module = Api_Search_Module & {
10
+ auth_count: number
11
+ auth_failed_count: number
12
+ instrument: Pick<Api_Instrument, 'id' | 'RFID' | 'instrument_id' | 'inventory_number' | 'name'> | null
13
+ inventory_completed_count: number
14
+ location: Pick<Api_Instrument_Location, 'id' | 'name' | 'title' | 'state_id' | 'description'> | null
15
+ location_id: string | null
16
+ team_id: string | null
17
+ tun: unknown
18
+ user_id: string
19
+ warehouse_id: string | null
20
+ work_zones: unknown[]
21
+ }
@@ -1,61 +1,61 @@
1
- export type Api_Project_Repair = {
2
- id: string
3
- name: string
4
- start_date: null | string
5
- end_date: null | string
6
- }
7
-
8
- export type Api_Project_Team = {
9
- id: string
10
- name: string
11
- display_name: string
12
- description: string
13
- created_at: string
14
- updated_at: string
15
- pivot: {
16
- project_id: string
17
- team_id: string
18
- }
19
- }
20
-
21
- export type Api_Project_Category = {
22
- code: number
23
- display_name: string
24
- name: string
25
- }
26
-
27
- export type Api_Project_Status = {
28
- id: string
29
- name: string
30
- title: string
31
- description: string
32
- created_at: string | null
33
- updated_at: string | null
34
- deleted_at: string | null
35
- }
36
-
37
- export type Api_Project_Dto = {
38
- id: string
39
- name: string
40
- description: null
41
- image: null
42
- plan_date: string | null
43
- deadline: string | null
44
- fact_start_date: string | null
45
- fact_end_date: string | null
46
- planned_start: string | null
47
- planned_end: string | null
48
- deleted_at: string | null
49
- total_tasks: number
50
- is_archive: boolean
51
- teams: Api_Project_Team[]
52
- status: Api_Project_Status
53
- category: Api_Project_Category
54
- repair: Api_Project_Repair | null
55
- schedule_id: string | null
56
- }
57
-
58
- export type Api_Project_Add_Root_Intervals_Payload = {
59
- history: number
60
- with_status_in_progress: number
61
- }
1
+ export type Api_Project_Repair = {
2
+ id: string
3
+ name: string
4
+ start_date: null | string
5
+ end_date: null | string
6
+ }
7
+
8
+ export type Api_Project_Team = {
9
+ id: string
10
+ name: string
11
+ display_name: string
12
+ description: string
13
+ created_at: string
14
+ updated_at: string
15
+ pivot: {
16
+ project_id: string
17
+ team_id: string
18
+ }
19
+ }
20
+
21
+ export type Api_Project_Category = {
22
+ code: number
23
+ display_name: string
24
+ name: string
25
+ }
26
+
27
+ export type Api_Project_Status = {
28
+ id: string
29
+ name: string
30
+ title: string
31
+ description: string
32
+ created_at: string | null
33
+ updated_at: string | null
34
+ deleted_at: string | null
35
+ }
36
+
37
+ export type Api_Project_Dto = {
38
+ id: string
39
+ name: string
40
+ description: null
41
+ image: null
42
+ plan_date: string | null
43
+ deadline: string | null
44
+ fact_start_date: string | null
45
+ fact_end_date: string | null
46
+ planned_start: string | null
47
+ planned_end: string | null
48
+ deleted_at: string | null
49
+ total_tasks: number
50
+ is_archive: boolean
51
+ teams: Api_Project_Team[]
52
+ status: Api_Project_Status
53
+ category: Api_Project_Category
54
+ repair: Api_Project_Repair | null
55
+ schedule_id: string | null
56
+ }
57
+
58
+ export type Api_Project_Add_Root_Intervals_Payload = {
59
+ history: number
60
+ with_status_in_progress: number
61
+ }
@@ -1,138 +1,140 @@
1
- export type Api_Team = {
2
- id: string
3
- display_name: string
4
- }
5
-
6
- export type Api_Equipment_Short_Dto = {
7
- id: string
8
- name: string
9
- }
10
-
11
- export type Api_Repairs = {
12
- id: string
13
- name: string
14
- }
15
-
16
- export type Api_Projects = {
17
- id: string
18
- name: string
19
- }
20
-
21
- export type OptionFilters = {
22
- teams?: Api_Team[]
23
- equipments?: Api_Equipment_Short_Dto[]
24
- }
25
-
26
- export type Api_Equipment_Full_Dto = {
27
- id: string
28
- model: null | string
29
- name: string
30
- registration_number: string
31
- repair_frequency: number
32
- repair_range: number
33
- }
34
-
35
- export type Api_Work_Zone_By_Tasks = {
36
- coordinates: { x0: number; x1: number; y0: number; y1: number }
37
- id: string
38
- tasks: unknown[]
39
- title: string
40
- }
41
-
42
- export type Api_Task_Video_Source = {
43
- id: string
44
- name: string
45
- work_zones_by_tasks: Api_Work_Zone_By_Tasks[]
46
- }
47
-
48
- export type Api_Task_Video_Source_Stream = {
49
- id: string
50
- name: string
51
- url: string
52
- width: number
53
- height: number
54
- fps: string
55
- login: string
56
- password: string
57
- comment: unknown
58
- work_zones: unknown[]
59
- video_source: unknown[]
60
- related_video_sources: unknown[]
61
- interactive_zones: unknown
62
- domed: boolean
63
- snapshot_path: string
64
- shapes: unknown[]
65
- }
66
-
67
- export type Api_Create_Repair_With_Equipments = {
68
- name: string
69
- display_name: string
70
- description?: string
71
- equipment_id: string
72
- power_output_MWh?: number
73
- cost_per_MWh?: number
74
- category: number
75
- user_id_list?: string[]
76
- team_id_list?: string[]
77
- }
78
-
79
- export type Api_Create_Repair_With_Template = Omit<Api_Create_Repair_With_Equipments, 'category' | 'equipment_id'> & {
80
- repair_template_id: string
81
- plan_start_date: string
82
- task_id_list: string[]
83
- }
84
-
85
- export type Api_Update_Repair = {
86
- name?: string
87
- display_name?: string
88
- description?: string | null
89
- power_output_MWh?: number | null
90
- cost_per_MWh?: number | null
91
- category?: number
92
- user_id_list?: string[]
93
- team_id_list?: string[]
94
- }
95
-
96
- export type Api_Repair_Dto = {
97
- id: string
98
- name: string
99
- display_name: string
100
- description: string
101
- start_date: string
102
- end_date: string
103
- projects: Api_Projects[]
104
- equipments: Api_Equipment_Full_Dto[]
105
- }
106
-
107
- export type Api_Repair_Template = {
108
- id: string
109
- repair_seconds: number
110
- equipment: Pick<Api_Equipment_Full_Dto, 'id' | 'name' | 'registration_number'>
111
- category: {
112
- display_name: string
113
- name: string
114
- code: number
115
- }
116
- task_list: string
117
- }
118
-
119
- export type Api_Repair_Intersection = {
120
- position: {
121
- name: string
122
- display_name: string
123
- }
124
- status: {
125
- id: string
126
- name: string
127
- display_name: string
128
- }
129
- task: {
130
- id: string
131
- name: string
132
- project_id: string
133
- }
134
- user: {
135
- id: string
136
- full_name: string
137
- }
138
- }
1
+ import { Api_Status_DTO, Api_Tasks_Task_Dto } from '@/api/types/Api_Tasks'
2
+
3
+ export type Api_Team = {
4
+ id: string
5
+ display_name: string
6
+ }
7
+
8
+ export type Api_Equipment_Short_Dto = {
9
+ id: string
10
+ name: string
11
+ }
12
+
13
+ export type Api_Repairs = {
14
+ id: string
15
+ name: string
16
+ }
17
+
18
+ export type Api_Projects = {
19
+ id: string
20
+ name: string
21
+ }
22
+
23
+ export type OptionFilters = {
24
+ teams?: Api_Team[]
25
+ equipments?: Api_Equipment_Short_Dto[]
26
+ }
27
+
28
+ export type Api_Equipment_Full_Dto = {
29
+ id: string
30
+ model: null | string
31
+ name: string
32
+ registration_number: string
33
+ repair_frequency: number
34
+ repair_range: number
35
+ }
36
+
37
+ export type Api_Work_Zone_By_Tasks = {
38
+ coordinates: { x0: number; x1: number; y0: number; y1: number }
39
+ id: string
40
+ tasks: unknown[]
41
+ title: string
42
+ }
43
+
44
+ export type Api_Task_Video_Source = {
45
+ id: string
46
+ name: string
47
+ work_zones_by_tasks: Api_Work_Zone_By_Tasks[]
48
+ }
49
+
50
+ export type Api_Task_Video_Source_Stream = {
51
+ id: string
52
+ name: string
53
+ url: string
54
+ width: number
55
+ height: number
56
+ fps: string
57
+ login: string
58
+ password: string
59
+ comment: unknown
60
+ work_zones: unknown[]
61
+ video_source: unknown[]
62
+ related_video_sources: unknown[]
63
+ interactive_zones: unknown
64
+ domed: boolean
65
+ snapshot_path: string
66
+ shapes: unknown[]
67
+ }
68
+
69
+ export type Api_Create_Repair_With_Equipments = {
70
+ name: string
71
+ display_name: string
72
+ description?: string
73
+ equipment_id: string
74
+ power_output_MWh?: number
75
+ cost_per_MWh?: number
76
+ category: number
77
+ user_id_list?: string[]
78
+ team_id_list?: string[]
79
+ }
80
+
81
+ export type Api_Create_Repair_With_Template = Omit<Api_Create_Repair_With_Equipments, 'category' | 'equipment_id'> & {
82
+ repair_template_id: string
83
+ plan_start_date: string
84
+ task_id_list: string[]
85
+ }
86
+
87
+ export type Api_Update_Repair = {
88
+ name?: string
89
+ display_name?: string
90
+ description?: string | null
91
+ power_output_MWh?: number | null
92
+ cost_per_MWh?: number | null
93
+ category?: number
94
+ user_id_list?: string[]
95
+ team_id_list?: string[]
96
+ }
97
+
98
+ export type Api_Repair_Dto = {
99
+ id: string
100
+ name: string
101
+ display_name: string
102
+ description: string
103
+ start_date: string
104
+ end_date: string
105
+ projects: Api_Projects[]
106
+ equipments: Api_Equipment_Full_Dto[]
107
+ }
108
+
109
+ export type Api_Repair_Template = {
110
+ id: string
111
+ repair_seconds: number
112
+ equipment: Pick<Api_Equipment_Full_Dto, 'id' | 'name' | 'registration_number'>
113
+ category: {
114
+ display_name: string
115
+ name: string
116
+ code: number
117
+ }
118
+ task_list: string
119
+ }
120
+
121
+ export type Api_Repair_Intersection_Task = {
122
+ position: {
123
+ id: string
124
+ display_name: string
125
+ name: string
126
+ }
127
+ status: Omit<Api_Status_DTO, 'id'>
128
+ task: Pick<
129
+ Api_Tasks_Task_Dto,
130
+ 'id' | 'name' | 'plan_date' | 'planned_start' | 'fact_start_date' | 'planned_end' | 'deadline' | 'fact_end_date'
131
+ >
132
+ }
133
+
134
+ export type Api_Repair_Intersection = {
135
+ tasks: Api_Repair_Intersection_Task[]
136
+ user: {
137
+ id: string | null
138
+ full_name: string
139
+ }
140
+ }
@@ -1,64 +1,64 @@
1
- export type Api_Schedule_Shift_Template = {
2
- id: string
3
- name: string
4
- from: string
5
- to: string
6
- }
7
-
8
- export type Api_Schedule_Config = {
9
- shift_templates: Api_Schedule_Shift_Template[]
10
- }
11
-
12
- export type Api_Schedule_Complete_Brigade = {
13
- brigade_id: string
14
- initial_first: string
15
- initial_last: string
16
- shift_template_id: string
17
- }
18
-
19
- export type Api_Schedule_Table_Brigade = {
20
- id: string
21
- name: string
22
- initial_first: string
23
- initial_last: string
24
- initial_shift_template: Api_Schedule_Shift_Template
25
- assigned_positions: number
26
- total_positions: number
27
- task_master: unknown | null
28
- is_deleted: boolean
29
- }
30
-
31
- export type Api_Schedule_Add_Shift = {
32
- brigade_id: string
33
- dates: string[]
34
- shift_template_id: string
35
- }
36
-
37
- export type Api_Schedule_Swap_Shifts = {
38
- brigade_id: string
39
- shifts: string[]
40
- }
41
-
42
- export type Api_Schedule_Edit_Shifts = {
43
- brigade_id: string
44
- shift_ids: string[]
45
- shift_template_id: string
46
- }
47
-
48
- export type Api_Schedule_Shift = {
49
- id: string
50
- from: string
51
- to: string
52
- shift_template: Api_Schedule_Shift_Template
53
- }
54
-
55
- export type Api_Schedule_Item = {
56
- brigade: Api_Schedule_Table_Brigade
57
- shifts: { date: string; shift: Api_Schedule_Shift }[]
58
- }
59
-
60
- export type Api_Schedule_Brigade_To_Swap = {
61
- id: string
62
- name: string
63
- shift_template: Api_Schedule_Shift_Template
64
- }
1
+ export type Api_Schedule_Shift_Template = {
2
+ id: string
3
+ name: string
4
+ from: string
5
+ to: string
6
+ }
7
+
8
+ export type Api_Schedule_Config = {
9
+ shift_templates: Api_Schedule_Shift_Template[]
10
+ }
11
+
12
+ export type Api_Schedule_Complete_Brigade = {
13
+ brigade_id: string
14
+ initial_first: string
15
+ initial_last: string
16
+ shift_template_id: string
17
+ }
18
+
19
+ export type Api_Schedule_Table_Brigade = {
20
+ id: string
21
+ name: string
22
+ initial_first: string
23
+ initial_last: string
24
+ initial_shift_template: Api_Schedule_Shift_Template
25
+ assigned_positions: number
26
+ total_positions: number
27
+ task_master: unknown | null
28
+ is_deleted: boolean
29
+ }
30
+
31
+ export type Api_Schedule_Add_Shift = {
32
+ brigade_id: string
33
+ dates: string[]
34
+ shift_template_id: string
35
+ }
36
+
37
+ export type Api_Schedule_Swap_Shifts = {
38
+ brigade_id: string
39
+ shifts: string[]
40
+ }
41
+
42
+ export type Api_Schedule_Edit_Shifts = {
43
+ brigade_id: string
44
+ shift_ids: string[]
45
+ shift_template_id: string
46
+ }
47
+
48
+ export type Api_Schedule_Shift = {
49
+ id: string
50
+ from: string
51
+ to: string
52
+ shift_template: Api_Schedule_Shift_Template
53
+ }
54
+
55
+ export type Api_Schedule_Item = {
56
+ brigade: Api_Schedule_Table_Brigade
57
+ shifts: { date: string; shift: Api_Schedule_Shift }[]
58
+ }
59
+
60
+ export type Api_Schedule_Brigade_To_Swap = {
61
+ id: string
62
+ name: string
63
+ shift_template: Api_Schedule_Shift_Template
64
+ }