shared-ritm 1.3.98 → 1.3.100

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 (100) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +30 -21
  4. package/dist/shared-ritm.umd.js +3 -3
  5. package/dist/types/api/services/GanttService.d.ts +6 -0
  6. package/dist/types/api/services/InstrumentsService.d.ts +2 -1
  7. package/dist/types/api/types/Api_Instruments.d.ts +20 -0
  8. package/package.json +1 -1
  9. package/src/api/services/BrigadesService.ts +32 -32
  10. package/src/api/services/CommentsService.ts +24 -24
  11. package/src/api/services/FileService.ts +17 -17
  12. package/src/api/services/GanttService.ts +58 -47
  13. package/src/api/services/InstrumentsService.ts +5 -1
  14. package/src/api/services/ModulesService.ts +27 -27
  15. package/src/api/services/ProjectsService.ts +83 -83
  16. package/src/api/services/ScheduleService.ts +69 -69
  17. package/src/api/services/SearchService.ts +22 -22
  18. package/src/api/services/TasksService.ts +157 -157
  19. package/src/api/settings/ApiService.ts +184 -184
  20. package/src/api/types/Api_Brigades.ts +36 -36
  21. package/src/api/types/Api_Comment.ts +40 -40
  22. package/src/api/types/Api_Files.ts +7 -7
  23. package/src/api/types/Api_Instruments.ts +22 -1
  24. package/src/api/types/Api_Modules.ts +21 -21
  25. package/src/api/types/Api_Projects.ts +62 -62
  26. package/src/api/types/Api_Schedule.ts +64 -64
  27. package/src/api/types/Api_Service.ts +9 -9
  28. package/src/common/app-button/AppButton.vue +173 -173
  29. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  30. package/src/common/app-datepicker/AppDatepicker.vue +218 -218
  31. package/src/common/app-dropdown/AppDropdown.vue +37 -37
  32. package/src/common/app-file/AppFile.vue +80 -80
  33. package/src/common/app-input/AppInput.vue +150 -150
  34. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  35. package/src/common/app-layout/AppLayout.vue +84 -84
  36. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  37. package/src/common/app-loader/index.vue +43 -43
  38. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  39. package/src/common/app-sheet/AppSheet.vue +120 -120
  40. package/src/common/app-sheet-new/AppSheetNew.vue +244 -244
  41. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  42. package/src/common/app-sidebar/components/SidebarMenuItem.vue +149 -149
  43. package/src/common/app-table/AppTableLayout.vue +137 -137
  44. package/src/common/app-table/components/TablePagination.vue +152 -152
  45. package/src/common/app-table/components/TableSearch.vue +76 -76
  46. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  47. package/src/global.d.ts +1 -1
  48. package/src/icons/components/arrow-down-icon.vue +25 -25
  49. package/src/icons/components/arrow-frame-icon.vue +19 -19
  50. package/src/icons/components/arrow-square.vue +22 -22
  51. package/src/icons/components/table-filter-icon.vue +30 -30
  52. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  53. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  54. package/src/icons/header/NotificationIcon.vue +18 -18
  55. package/src/icons/header/PersonIcon.vue +11 -11
  56. package/src/icons/header/SettingIcon.vue +14 -14
  57. package/src/icons/header/flashIcon.vue +24 -24
  58. package/src/icons/header/searchStatusIcon.vue +24 -24
  59. package/src/icons/header/smallCapsIcon.vue +34 -34
  60. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  61. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  62. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  63. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  64. package/src/icons/sidebar/instruments-icon.vue +45 -45
  65. package/src/icons/sidebar/logo-icon.vue +15 -15
  66. package/src/icons/sidebar/logout-icon.vue +13 -13
  67. package/src/icons/sidebar/modules-icon.vue +16 -16
  68. package/src/icons/sidebar/notifications-icon.vue +24 -24
  69. package/src/icons/sidebar/order-icon.vue +44 -44
  70. package/src/icons/sidebar/pass-icon.vue +38 -38
  71. package/src/icons/sidebar/positions-icon.vue +42 -42
  72. package/src/icons/sidebar/preorder-icon.vue +19 -19
  73. package/src/icons/sidebar/projects-icon.vue +31 -31
  74. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  75. package/src/icons/sidebar/repairs-icon.vue +20 -20
  76. package/src/icons/sidebar/roles-icon.vue +26 -26
  77. package/src/icons/sidebar/status-history-icon.vue +24 -24
  78. package/src/icons/sidebar/tasks-icon.vue +28 -28
  79. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  80. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  81. package/src/icons/sidebar/teams-icon.vue +32 -32
  82. package/src/icons/sidebar/user-icon.vue +18 -18
  83. package/src/icons/sidebar/users-icon.vue +46 -46
  84. package/src/icons/sidebar/videosources-icon.vue +19 -19
  85. package/src/icons/sidebar/videowall-icon.vue +13 -13
  86. package/src/icons/sidebar/videozones-icon.vue +21 -21
  87. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  88. package/src/icons/sidebar/workshop-icon.vue +100 -100
  89. package/src/icons/sidebar/workzones-icon.vue +22 -22
  90. package/src/icons/task/attention-icon.vue +13 -13
  91. package/src/icons/task/clock-icon.vue +10 -10
  92. package/src/icons/task/delete-icon.vue +10 -10
  93. package/src/icons/task/fire-icon.vue +16 -16
  94. package/src/main.ts +28 -28
  95. package/src/quasar-user-options.ts +17 -17
  96. package/src/router/index.ts +10 -10
  97. package/src/shims-vue.d.ts +5 -5
  98. package/src/utils/confirm.ts +12 -12
  99. package/src/utils/faceApiHelper.ts +132 -132
  100. package/src/utils/notification.ts +9 -9
@@ -5,6 +5,10 @@ export type ApiCreateGanttLinkDto = {
5
5
  child_id: string;
6
6
  lag: number;
7
7
  };
8
+ export type ApiUpdateGanttLinkDto = {
9
+ type: 'FS' | 'SS' | 'FF' | 'SF';
10
+ lag: number;
11
+ };
8
12
  export type ApiGanttLinkDto = {
9
13
  id: string;
10
14
  type: 'FS' | 'SS' | 'FF' | 'SF';
@@ -18,7 +22,9 @@ declare class GanttService extends ApiService {
18
22
  setFixPlan(project_id: string): Promise<any>;
19
23
  getLinksByProject(id: string): Promise<ApiGanttLinkDto[]>;
20
24
  createLink(payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto>;
25
+ editLink(id: string, payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto>;
21
26
  deleteLink(id: string): Promise<any>;
27
+ recalculateLinks(projectIds: string[]): Promise<any>;
22
28
  }
23
29
  export default function useGanttService(): GanttService;
24
30
  export {};
@@ -3,6 +3,7 @@ import { Api_Instrument, Api_instruments_HistoryResponse, Api_Search_Instrument,
3
3
  import { ResponseApi } from '@/api/types/Api_Service';
4
4
  declare class InstrumentsService extends ApiService {
5
5
  fetchUserInstrumentsHistory(id: string, page?: number): Promise<Api_instruments_HistoryResponse>;
6
+ fetchDiscardWarehouses(params: any): Promise<ResponseApi<Api_Warehouse_Search[]>>;
6
7
  fetchWarehouses(params: any): Promise<ResponseApi<Api_Warehouse_Search[]>>;
7
8
  fetchWarehouse(id: string): Promise<Api_Instrument>;
8
9
  fetchStatusHistory(id: string): Promise<Api_Warehouse_Status_History_Item[]>;
@@ -15,7 +16,7 @@ declare class InstrumentsService extends ApiService {
15
16
  data: boolean;
16
17
  status: number;
17
18
  }>;
18
- discardWarehouse(model: Partial<Api_Warehouse_Discard>): Promise<{
19
+ changeStatusWarehouse(model: Partial<Api_Warehouse_Discard>): Promise<{
19
20
  data: boolean;
20
21
  status: number;
21
22
  }>;
@@ -126,3 +126,23 @@ export type Api_Warehouse_Discard = {
126
126
  status: string;
127
127
  warehouses: string[];
128
128
  };
129
+ export type Api_Discard_DTO = {
130
+ id: string;
131
+ status_id: string;
132
+ discarded_at: string | null;
133
+ status: {
134
+ id: string;
135
+ name: 'inspection' | 'repair' | string;
136
+ title: string;
137
+ };
138
+ responsible: {
139
+ id: string;
140
+ email: string;
141
+ full_name: string;
142
+ };
143
+ warehouse: {
144
+ id: string;
145
+ inventory_number: string;
146
+ name: string;
147
+ };
148
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shared-ritm",
3
- "version": "1.3.98",
3
+ "version": "1.3.100",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist",
@@ -1,32 +1,32 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Brigade, Api_Brigade_Create, Api_Brigade_Search } from '../types/Api_Brigades'
3
- import { ResponseApi } from '../types/Api_Service'
4
-
5
- class BrigadesService extends ApiService {
6
- public fetchBrigades(params: any): Promise<ResponseApi<Api_Brigade_Search[]>> {
7
- return this.get<ResponseApi<Api_Brigade_Search[]>>('/search/brigades', { params })
8
- }
9
-
10
- public editBrigade({ id, model }: { id: string; model: Partial<Api_Brigade_Create> }): Promise<Api_Brigade> {
11
- return this.put<Partial<Api_Brigade_Create>, Api_Brigade>(`/brigades/${id}`, model)
12
- }
13
-
14
- public getBrigade(id: string): Promise<Api_Brigade> {
15
- return this.get<Api_Brigade>(`/brigades/${id}`)
16
- }
17
-
18
- public createBrigade(model: Api_Brigade_Create): Promise<Api_Brigade> {
19
- return this.post<Api_Brigade_Create, Api_Brigade>('/brigades', model)
20
- }
21
-
22
- public deleteBrigade(id: string): Promise<{ data: boolean; status: number }> {
23
- return this.delete(`/brigades/${id}`)
24
- }
25
- }
26
-
27
- let api: BrigadesService
28
-
29
- export default function useBrigadesService() {
30
- if (!api) api = new BrigadesService()
31
- return api
32
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Brigade, Api_Brigade_Create, Api_Brigade_Search } from '../types/Api_Brigades'
3
+ import { ResponseApi } from '../types/Api_Service'
4
+
5
+ class BrigadesService extends ApiService {
6
+ public fetchBrigades(params: any): Promise<ResponseApi<Api_Brigade_Search[]>> {
7
+ return this.get<ResponseApi<Api_Brigade_Search[]>>('/search/brigades', { params })
8
+ }
9
+
10
+ public editBrigade({ id, model }: { id: string; model: Partial<Api_Brigade_Create> }): Promise<Api_Brigade> {
11
+ return this.put<Partial<Api_Brigade_Create>, Api_Brigade>(`/brigades/${id}`, model)
12
+ }
13
+
14
+ public getBrigade(id: string): Promise<Api_Brigade> {
15
+ return this.get<Api_Brigade>(`/brigades/${id}`)
16
+ }
17
+
18
+ public createBrigade(model: Api_Brigade_Create): Promise<Api_Brigade> {
19
+ return this.post<Api_Brigade_Create, Api_Brigade>('/brigades', model)
20
+ }
21
+
22
+ public deleteBrigade(id: string): Promise<{ data: boolean; status: number }> {
23
+ return this.delete(`/brigades/${id}`)
24
+ }
25
+ }
26
+
27
+ let api: BrigadesService
28
+
29
+ export default function useBrigadesService() {
30
+ if (!api) api = new BrigadesService()
31
+ return api
32
+ }
@@ -1,24 +1,24 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Comment_Request_Dto, Api_Comment_Update_Dto } from '../types/Api_Comment'
3
- import { Api_Tasks_Task_Dto } from '../types/Api_Tasks'
4
-
5
- class CommentsService extends ApiService {
6
- public async uploadComment(payload: Api_Comment_Request_Dto): Promise<Api_Tasks_Task_Dto> {
7
- return await this.post<Api_Comment_Request_Dto, Api_Tasks_Task_Dto>('comments', payload)
8
- }
9
-
10
- public async deleteComment(commentId: string): Promise<any> {
11
- return await this.delete(`comments/${commentId}`)
12
- }
13
-
14
- public async editComment(commentId: string, payload: Api_Comment_Request_Dto): Promise<Api_Comment_Update_Dto> {
15
- return await this.put(`comments/${commentId}`, payload)
16
- }
17
- }
18
-
19
- let api: CommentsService
20
-
21
- export default function useCommentsService() {
22
- if (!api) api = new CommentsService()
23
- return api
24
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Comment_Request_Dto, Api_Comment_Update_Dto } from '../types/Api_Comment'
3
+ import { Api_Tasks_Task_Dto } from '../types/Api_Tasks'
4
+
5
+ class CommentsService extends ApiService {
6
+ public async uploadComment(payload: Api_Comment_Request_Dto): Promise<Api_Tasks_Task_Dto> {
7
+ return await this.post<Api_Comment_Request_Dto, Api_Tasks_Task_Dto>('comments', payload)
8
+ }
9
+
10
+ public async deleteComment(commentId: string): Promise<any> {
11
+ return await this.delete(`comments/${commentId}`)
12
+ }
13
+
14
+ public async editComment(commentId: string, payload: Api_Comment_Request_Dto): Promise<Api_Comment_Update_Dto> {
15
+ return await this.put(`comments/${commentId}`, payload)
16
+ }
17
+ }
18
+
19
+ let api: CommentsService
20
+
21
+ export default function useCommentsService() {
22
+ if (!api) api = new CommentsService()
23
+ return api
24
+ }
@@ -1,17 +1,17 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Files_Responsible_Dto } from '../types/Api_Files'
3
-
4
- class FileService extends ApiService {
5
- public uploadFile(data: FormData): Promise<Api_Files_Responsible_Dto[]> {
6
- return this.post<FormData, Api_Files_Responsible_Dto[]>(`/upload-file`, data, {
7
- headers: { 'Content-Type': 'multipart/form-data' },
8
- })
9
- }
10
- }
11
-
12
- let api: FileService
13
-
14
- export default function useFileService() {
15
- if (!api) api = new FileService()
16
- return api
17
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Files_Responsible_Dto } from '../types/Api_Files'
3
+
4
+ class FileService extends ApiService {
5
+ public uploadFile(data: FormData): Promise<Api_Files_Responsible_Dto[]> {
6
+ return this.post<FormData, Api_Files_Responsible_Dto[]>(`/upload-file`, data, {
7
+ headers: { 'Content-Type': 'multipart/form-data' },
8
+ })
9
+ }
10
+ }
11
+
12
+ let api: FileService
13
+
14
+ export default function useFileService() {
15
+ if (!api) api = new FileService()
16
+ return api
17
+ }
@@ -1,47 +1,58 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- export type ApiCreateGanttLinkDto = {
4
- type: 'FS' | 'SS' | 'FF' | 'SF'
5
- parent_id: string
6
- child_id: string
7
- lag: number
8
- }
9
-
10
- export type ApiGanttLinkDto = {
11
- id: string
12
- type: 'FS' | 'SS' | 'FF' | 'SF'
13
- parent_id: string
14
- child_id: string
15
- lag: number
16
- }
17
-
18
- class GanttService extends ApiService {
19
- public async fetchCriticalPathTasks(params: string): Promise<any> {
20
- return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
21
- }
22
- public async fetchGanttList(params: string): Promise<any> {
23
- return await this.get(`/list/tasks/search?${params}&gantt=1`)
24
- }
25
- public async setFixPlan(project_id: string): Promise<any> {
26
- const params = new URLSearchParams()
27
- params.append(`projects[0]`, project_id)
28
- params.append(`filter[state]`, '1')
29
- return await this.post<null, any>(`/gantt/set-planned-date?${params.toString()}`, null)
30
- }
31
- public getLinksByProject(id: string): Promise<ApiGanttLinkDto[]> {
32
- return this.get<ApiGanttLinkDto[]>(`gantt/${id}/links/list`)
33
- }
34
- public createLink(payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto> {
35
- return this.post<ApiCreateGanttLinkDto, ApiGanttLinkDto>(`gantt/task/link`, payload)
36
- }
37
- public deleteLink(id: string): Promise<any> {
38
- return this.delete(`gantt/task/link/${id}`)
39
- }
40
- }
41
-
42
- let api: GanttService
43
-
44
- export default function useGanttService() {
45
- if (!api) api = new GanttService()
46
- return api
47
- }
1
+ import ApiService from '../settings/ApiService'
2
+
3
+ export type ApiCreateGanttLinkDto = {
4
+ type: 'FS' | 'SS' | 'FF' | 'SF'
5
+ parent_id: string
6
+ child_id: string
7
+ lag: number
8
+ }
9
+
10
+ export type ApiUpdateGanttLinkDto = {
11
+ type: 'FS' | 'SS' | 'FF' | 'SF'
12
+ lag: number
13
+ }
14
+
15
+ export type ApiGanttLinkDto = {
16
+ id: string
17
+ type: 'FS' | 'SS' | 'FF' | 'SF'
18
+ parent_id: string
19
+ child_id: string
20
+ lag: number
21
+ }
22
+
23
+ class GanttService extends ApiService {
24
+ public async fetchCriticalPathTasks(params: string): Promise<any> {
25
+ return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
26
+ }
27
+ public async fetchGanttList(params: string): Promise<any> {
28
+ return await this.get(`/list/tasks/search?${params}&gantt=1`)
29
+ }
30
+ public async setFixPlan(project_id: string): Promise<any> {
31
+ const params = new URLSearchParams()
32
+ params.append(`projects[0]`, project_id)
33
+ params.append(`filter[state]`, '1')
34
+ return await this.post<null, any>(`/gantt/set-planned-date?${params.toString()}`, null)
35
+ }
36
+ public getLinksByProject(id: string): Promise<ApiGanttLinkDto[]> {
37
+ return this.get<ApiGanttLinkDto[]>(`gantt/${id}/links/list`)
38
+ }
39
+ public createLink(payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto> {
40
+ return this.post<ApiCreateGanttLinkDto, ApiGanttLinkDto>(`gantt/task/link`, payload)
41
+ }
42
+ public editLink(id: string, payload: ApiCreateGanttLinkDto): Promise<ApiGanttLinkDto> {
43
+ return this.put<ApiUpdateGanttLinkDto, ApiGanttLinkDto>(`gantt/task/link${id}`, payload)
44
+ }
45
+ public deleteLink(id: string): Promise<any> {
46
+ return this.delete(`gantt/task/link/${id}`)
47
+ }
48
+ public recalculateLinks(projectIds: string[]): Promise<any> {
49
+ return this.post<string[], null>(`gantt/project/links/recalculate`, projectIds)
50
+ }
51
+ }
52
+
53
+ let api: GanttService
54
+
55
+ export default function useGanttService() {
56
+ if (!api) api = new GanttService()
57
+ return api
58
+ }
@@ -21,6 +21,10 @@ class InstrumentsService extends ApiService {
21
21
  return await this.get(`users/${id}/instruments`, { params })
22
22
  }
23
23
 
24
+ public async fetchDiscardWarehouses(params: any): Promise<ResponseApi<Api_Warehouse_Search[]>> {
25
+ return await this.get('v2/search/discards', { params })
26
+ }
27
+
24
28
  public async fetchWarehouses(params: any): Promise<ResponseApi<Api_Warehouse_Search[]>> {
25
29
  return await this.get('search/warehouses', { params })
26
30
  }
@@ -51,7 +55,7 @@ class InstrumentsService extends ApiService {
51
55
  return this.delete(`admin/warehouses/${id}`)
52
56
  }
53
57
 
54
- public discardWarehouse(model: Partial<Api_Warehouse_Discard>): Promise<{ data: boolean; status: number }> {
58
+ public changeStatusWarehouse(model: Partial<Api_Warehouse_Discard>): Promise<{ data: boolean; status: number }> {
55
59
  return this.put(`v2/warehouses/status`, model)
56
60
  }
57
61
 
@@ -1,27 +1,27 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_Module, Api_Module_Create } from '../types/Api_Modules'
3
-
4
- class ModulesService extends ApiService {
5
- public async detectModule(id: string): Promise<{ data: string; status: number }> {
6
- return await this.get(`module/${id}/detect`)
7
- }
8
-
9
- public async createModule(model: Api_Module_Create): Promise<Api_Module> {
10
- return await this.post('admin/modules', model)
11
- }
12
-
13
- public async editModule({ id, model }: { id: string; model: Partial<Api_Module_Create> }): Promise<Api_Module> {
14
- return await this.put(`admin/modules/${id}`, model)
15
- }
16
-
17
- public deleteModule(id: string): Promise<{ data: boolean; status: number }> {
18
- return this.delete(`admin/modules/${id}`)
19
- }
20
- }
21
-
22
- let api: ModulesService
23
-
24
- export default function useModulesService() {
25
- if (!api) api = new ModulesService()
26
- return api
27
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_Module, Api_Module_Create } from '../types/Api_Modules'
3
+
4
+ class ModulesService extends ApiService {
5
+ public async detectModule(id: string): Promise<{ data: string; status: number }> {
6
+ return await this.get(`module/${id}/detect`)
7
+ }
8
+
9
+ public async createModule(model: Api_Module_Create): Promise<Api_Module> {
10
+ return await this.post('admin/modules', model)
11
+ }
12
+
13
+ public async editModule({ id, model }: { id: string; model: Partial<Api_Module_Create> }): Promise<Api_Module> {
14
+ return await this.put(`admin/modules/${id}`, model)
15
+ }
16
+
17
+ public deleteModule(id: string): Promise<{ data: boolean; status: number }> {
18
+ return this.delete(`admin/modules/${id}`)
19
+ }
20
+ }
21
+
22
+ let api: ModulesService
23
+
24
+ export default function useModulesService() {
25
+ if (!api) api = new ModulesService()
26
+ return api
27
+ }
@@ -1,83 +1,83 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- import { ResponseApi } from '../types/Api_Service'
4
- import { Api_Project_Add_Root_Intervals_Payload, Api_Project_Dto } from '../types/Api_Projects'
5
-
6
- class ProjectsService extends ApiService {
7
- public async fetchProjectById(id: string): Promise<Api_Project_Dto> {
8
- return this.get(`/projects/${id}`)
9
- }
10
-
11
- public createProject(params: any): Promise<Api_Project_Dto> {
12
- return this.post<any, Api_Project_Dto>('/projects', params)
13
- }
14
-
15
- public editProject(id: string, params: any): Promise<Api_Project_Dto> {
16
- return this.put<any, Api_Project_Dto>(`/projects/${id}`, params)
17
- }
18
-
19
- public fetchProjects(params: any): Promise<ResponseApi<Api_Project_Dto[]>> {
20
- return this.get(`/search/projects`, { params })
21
- }
22
-
23
- public cloneProject(project: Api_Project_Dto): Promise<Api_Project_Dto> {
24
- return this.post<Api_Project_Dto, Api_Project_Dto>(`projects/${project.id}/clone`, project)
25
- }
26
-
27
- public archiveProject(id: string, data: any): Promise<ResponseApi<any>> {
28
- return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
29
- }
30
-
31
- public unArchiveProject(id: string, data: any): Promise<ResponseApi<any>> {
32
- return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
33
- }
34
-
35
- public moveAprProject(id: string): Promise<ResponseApi<any>> {
36
- return this.post<any, ResponseApi<any>>('repairs/move_plan_to_real', {
37
- repairs: [id],
38
- })
39
- }
40
- public restoreProject(id: string): Promise<ResponseApi<any>> {
41
- return this.post<any, ResponseApi<any>>('/restore_project', { projects_ids: [id] })
42
- }
43
-
44
- public importTasks(payload: any): Promise<ResponseApi<any>> {
45
- return this.post<any, ResponseApi<any>>('tasks/import', payload)
46
- }
47
-
48
- public importKtd(payload: any): Promise<ResponseApi<any>> {
49
- return this.post<any, ResponseApi<any>>('/parse_ktd', payload, {
50
- headers: { 'Content-Type': 'multipart/form-data' },
51
- })
52
- }
53
-
54
- public checkStatusParser(payload: any): Promise<any> {
55
- return this.post<any, ResponseApi<any>>('/check_parse_ktd', payload)
56
- }
57
-
58
- public fetchProjectTeamList(id: string): Promise<ResponseApi<any>> {
59
- return this.put<any, ResponseApi<any>>(`/projects/${id}`, null)
60
- }
61
-
62
- public deleteProject(id: string): Promise<any> {
63
- return this.delete<ResponseApi<any>>(`/projects/${id}`)
64
- }
65
-
66
- public getDynamicProgressWidget(id: string): Promise<any> {
67
- return this.get<ResponseApi<any>>(`repairs/get_repair_list_dynamics_performance?repair_id_list[]=${id}`)
68
- }
69
-
70
- public removeRootIntervals(): Promise<void> {
71
- return this.post<null, void>(`/delete/fake/projects`, null)
72
- }
73
- public addRootIntervals(projectId: string, payload: Api_Project_Add_Root_Intervals_Payload): Promise<void> {
74
- return this.post<Api_Project_Add_Root_Intervals_Payload, void>(`/set/fake/projects/${projectId}`, payload)
75
- }
76
- }
77
-
78
- let api: ProjectsService
79
-
80
- export default function useProjectsService() {
81
- if (!api) api = new ProjectsService()
82
- return api
83
- }
1
+ import ApiService from '../settings/ApiService'
2
+
3
+ import { ResponseApi } from '../types/Api_Service'
4
+ import { Api_Project_Add_Root_Intervals_Payload, Api_Project_Dto } from '../types/Api_Projects'
5
+
6
+ class ProjectsService extends ApiService {
7
+ public async fetchProjectById(id: string): Promise<Api_Project_Dto> {
8
+ return this.get(`/projects/${id}`)
9
+ }
10
+
11
+ public createProject(params: any): Promise<Api_Project_Dto> {
12
+ return this.post<any, Api_Project_Dto>('/projects', params)
13
+ }
14
+
15
+ public editProject(id: string, params: any): Promise<Api_Project_Dto> {
16
+ return this.put<any, Api_Project_Dto>(`/projects/${id}`, params)
17
+ }
18
+
19
+ public fetchProjects(params: any): Promise<ResponseApi<Api_Project_Dto[]>> {
20
+ return this.get(`/search/projects`, { params })
21
+ }
22
+
23
+ public cloneProject(project: Api_Project_Dto): Promise<Api_Project_Dto> {
24
+ return this.post<Api_Project_Dto, Api_Project_Dto>(`projects/${project.id}/clone`, project)
25
+ }
26
+
27
+ public archiveProject(id: string, data: any): Promise<ResponseApi<any>> {
28
+ return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
29
+ }
30
+
31
+ public unArchiveProject(id: string, data: any): Promise<ResponseApi<any>> {
32
+ return this.put<any, ResponseApi<any>>(`/projects/${id}`, data)
33
+ }
34
+
35
+ public moveAprProject(id: string): Promise<ResponseApi<any>> {
36
+ return this.post<any, ResponseApi<any>>('repairs/move_plan_to_real', {
37
+ repairs: [id],
38
+ })
39
+ }
40
+ public restoreProject(id: string): Promise<ResponseApi<any>> {
41
+ return this.post<any, ResponseApi<any>>('/restore_project', { projects_ids: [id] })
42
+ }
43
+
44
+ public importTasks(payload: any): Promise<ResponseApi<any>> {
45
+ return this.post<any, ResponseApi<any>>('tasks/import', payload)
46
+ }
47
+
48
+ public importKtd(payload: any): Promise<ResponseApi<any>> {
49
+ return this.post<any, ResponseApi<any>>('/parse_ktd', payload, {
50
+ headers: { 'Content-Type': 'multipart/form-data' },
51
+ })
52
+ }
53
+
54
+ public checkStatusParser(payload: any): Promise<any> {
55
+ return this.post<any, ResponseApi<any>>('/check_parse_ktd', payload)
56
+ }
57
+
58
+ public fetchProjectTeamList(id: string): Promise<ResponseApi<any>> {
59
+ return this.put<any, ResponseApi<any>>(`/projects/${id}`, null)
60
+ }
61
+
62
+ public deleteProject(id: string): Promise<any> {
63
+ return this.delete<ResponseApi<any>>(`/projects/${id}`)
64
+ }
65
+
66
+ public getDynamicProgressWidget(id: string): Promise<any> {
67
+ return this.get<ResponseApi<any>>(`repairs/get_repair_list_dynamics_performance?repair_id_list[]=${id}`)
68
+ }
69
+
70
+ public removeRootIntervals(): Promise<void> {
71
+ return this.post<null, void>(`/delete/fake/projects`, null)
72
+ }
73
+ public addRootIntervals(projectId: string, payload: Api_Project_Add_Root_Intervals_Payload): Promise<void> {
74
+ return this.post<Api_Project_Add_Root_Intervals_Payload, void>(`/set/fake/projects/${projectId}`, payload)
75
+ }
76
+ }
77
+
78
+ let api: ProjectsService
79
+
80
+ export default function useProjectsService() {
81
+ if (!api) api = new ProjectsService()
82
+ return api
83
+ }