shared-ritm 1.2.99 → 1.2.101

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 (128) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +6199 -6125
  4. package/dist/shared-ritm.umd.js +372 -372
  5. package/dist/types/api/services/EquipmentService.d.ts +15 -0
  6. package/dist/types/api/services/PhotoService.d.ts +40 -0
  7. package/dist/types/api/services/VideoService.d.ts +24 -0
  8. package/dist/types/api/types/Api_Equipment.d.ts +2 -0
  9. package/dist/types/api/types/Api_Tasks.d.ts +1 -1
  10. package/dist/types/api/types/Api_Video.d.ts +118 -0
  11. package/dist/types/index.d.ts +4 -1
  12. package/package.json +64 -64
  13. package/src/App.vue +2461 -2461
  14. package/src/api/services/AuthService.ts +64 -64
  15. package/src/api/services/CommentsService.ts +24 -24
  16. package/src/api/services/ControlsService.ts +65 -65
  17. package/src/api/services/EquipmentService.ts +29 -0
  18. package/src/api/services/FileService.ts +17 -17
  19. package/src/api/services/GanttService.ts +17 -17
  20. package/src/api/services/InstrumentsService.ts +22 -22
  21. package/src/api/services/MetricsService.ts +110 -110
  22. package/src/api/services/ProjectsService.ts +68 -68
  23. package/src/api/services/RepairsService.ts +119 -119
  24. package/src/api/services/SearchService.ts +16 -16
  25. package/src/api/services/TasksService.ts +145 -145
  26. package/src/api/services/VideoService.ts +62 -17
  27. package/src/api/settings/ApiService.ts +123 -123
  28. package/src/api/types/Api_Comment.ts +40 -40
  29. package/src/api/types/Api_Controls.ts +72 -72
  30. package/src/api/types/Api_Equipment.ts +3 -0
  31. package/src/api/types/Api_Files.ts +7 -7
  32. package/src/api/types/Api_Instruments.ts +98 -98
  33. package/src/api/types/Api_Projects.ts +55 -55
  34. package/src/api/types/Api_Repairs.ts +115 -115
  35. package/src/api/types/Api_Search.ts +48 -48
  36. package/src/api/types/Api_Service.ts +9 -9
  37. package/src/api/types/Api_Tasks.ts +315 -315
  38. package/src/api/types/Api_User.ts +117 -117
  39. package/src/api/types/Api_Video.ts +123 -0
  40. package/src/common/app-button/AppButton.vue +173 -173
  41. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  42. package/src/common/app-date-picker/AppDatePicker.vue +81 -81
  43. package/src/common/app-datepicker/AppDatepicker.vue +165 -165
  44. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  45. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  46. package/src/common/app-icon/AppIcon.vue +108 -108
  47. package/src/common/app-input/AppInput.vue +148 -148
  48. package/src/common/app-input-new/AppInputNew.vue +167 -152
  49. package/src/common/app-input-search/AppInputSearch.vue +174 -174
  50. package/src/common/app-layout/AppLayout.vue +84 -84
  51. package/src/common/app-layout/components/AppLayoutHeader.vue +250 -251
  52. package/src/common/app-layout/components/AppLayoutPage.vue +16 -16
  53. package/src/common/app-loader/index.vue +43 -43
  54. package/src/common/app-page-layout/AppPageLayout.vue +122 -122
  55. package/src/common/app-select/AppSelect.vue +157 -157
  56. package/src/common/app-sheet/AppSheet.vue +120 -120
  57. package/src/common/app-sheet-new/AppSheetNew.vue +246 -246
  58. package/src/common/app-sidebar/AppSidebar.vue +168 -168
  59. package/src/common/app-sidebar/components/SidebarMenu.vue +37 -37
  60. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  61. package/src/common/app-table/AppTable.vue +312 -305
  62. package/src/common/app-table/AppTableLayout.vue +137 -136
  63. package/src/common/app-table/components/ModalSelect.vue +270 -270
  64. package/src/common/app-table/components/TableModal.vue +356 -331
  65. package/src/common/app-table/components/TablePagination.vue +152 -152
  66. package/src/common/app-table/controllers/useBaseTable.ts +45 -45
  67. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  68. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  69. package/src/common/app-toggle/AppToggle.vue +24 -24
  70. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  71. package/src/global.d.ts +1 -1
  72. package/src/icons/components/arrow-down-icon.vue +25 -25
  73. package/src/icons/components/arrow-frame-icon.vue +19 -19
  74. package/src/icons/components/arrow-square.vue +22 -22
  75. package/src/icons/components/table-filter-icon.vue +30 -30
  76. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  77. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  78. package/src/icons/header/NotificationIcon.vue +18 -18
  79. package/src/icons/header/PersonIcon.vue +11 -11
  80. package/src/icons/header/SettingIcon.vue +14 -14
  81. package/src/icons/header/flashIcon.vue +24 -24
  82. package/src/icons/header/searchStatusIcon.vue +24 -24
  83. package/src/icons/header/smallCapsIcon.vue +34 -34
  84. package/src/icons/sidebar/assign-module-icon.vue +36 -36
  85. package/src/icons/sidebar/instrument-history-icon.vue +32 -32
  86. package/src/icons/sidebar/instrument-order-icon.vue +38 -38
  87. package/src/icons/sidebar/instrument-work-zone-icon.vue +18 -18
  88. package/src/icons/sidebar/instruments-icon.vue +45 -45
  89. package/src/icons/sidebar/logo-icon.vue +15 -15
  90. package/src/icons/sidebar/logout-icon.vue +13 -13
  91. package/src/icons/sidebar/modules-icon.vue +16 -16
  92. package/src/icons/sidebar/notifications-icon.vue +24 -24
  93. package/src/icons/sidebar/order-icon.vue +44 -44
  94. package/src/icons/sidebar/pass-icon.vue +38 -38
  95. package/src/icons/sidebar/positions-icon.vue +42 -42
  96. package/src/icons/sidebar/preorder-icon.vue +19 -19
  97. package/src/icons/sidebar/projects-icon.vue +31 -31
  98. package/src/icons/sidebar/repair-object-icon.vue +18 -18
  99. package/src/icons/sidebar/repairs-icon.vue +20 -20
  100. package/src/icons/sidebar/roles-icon.vue +26 -26
  101. package/src/icons/sidebar/status-history-icon.vue +24 -24
  102. package/src/icons/sidebar/tasks-icon.vue +28 -28
  103. package/src/icons/sidebar/tasks_tasks-icon.vue +39 -39
  104. package/src/icons/sidebar/tasks_today-icon.vue +27 -27
  105. package/src/icons/sidebar/teams-icon.vue +32 -32
  106. package/src/icons/sidebar/user-icon.vue +18 -18
  107. package/src/icons/sidebar/users-icon.vue +46 -46
  108. package/src/icons/sidebar/videosources-icon.vue +19 -19
  109. package/src/icons/sidebar/videowall-icon.vue +13 -13
  110. package/src/icons/sidebar/videozones-icon.vue +21 -21
  111. package/src/icons/sidebar/warehouses-icon.vue +43 -43
  112. package/src/icons/sidebar/workshop-icon.vue +100 -100
  113. package/src/icons/sidebar/workzones-icon.vue +22 -22
  114. package/src/icons/task/attention-icon.vue +13 -13
  115. package/src/icons/task/clock-icon.vue +10 -10
  116. package/src/icons/task/delete-icon.vue +10 -10
  117. package/src/icons/task/fire-icon.vue +16 -16
  118. package/src/index.ts +116 -112
  119. package/src/main.ts +28 -28
  120. package/src/quasar-user-options.ts +17 -17
  121. package/src/router/index.ts +10 -10
  122. package/src/shared/styles/general.css +124 -124
  123. package/src/shims-vue.d.ts +5 -5
  124. package/src/styles/variables.sass +12 -12
  125. package/src/utils/confirm.ts +12 -12
  126. package/src/utils/faceApiHelper.ts +137 -137
  127. package/src/utils/helpers.ts +59 -59
  128. package/src/utils/notification.ts +9 -9
@@ -1,64 +1,64 @@
1
- import ApiService from '../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 loginVideo(data: any) {
34
- return this.post<any, LoginResponse>(`/login/video`, data, {
35
- transformRequest: d => d,
36
- })
37
- }
38
-
39
- public logout() {
40
- return this.post<null, LoginResponse>(`/logout`, null)
41
- }
42
-
43
- public userInfo() {
44
- return this.get<any>(`/users/auth`)
45
- }
46
-
47
- public configs() {
48
- return this.get<ConfigResponse>(`/configs`)
49
- }
50
-
51
- public changePassword(id: string, password: string, password_confirmation: string) {
52
- return this.put<ChangePasswordPayload, ChangePasswordResponse>(`/users/${id}/password`, {
53
- password,
54
- password_confirmation,
55
- })
56
- }
57
- }
58
-
59
- let api: AuthService
60
-
61
- export default function useAuthService() {
62
- if (!api) api = new AuthService()
63
- return api
64
- }
1
+ import ApiService from '../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 loginVideo(data: any) {
34
+ return this.post<any, LoginResponse>(`/login/video`, data, {
35
+ transformRequest: d => d,
36
+ })
37
+ }
38
+
39
+ public logout() {
40
+ return this.post<null, LoginResponse>(`/logout`, null)
41
+ }
42
+
43
+ public userInfo() {
44
+ return this.get<any>(`/users/auth`)
45
+ }
46
+
47
+ public configs() {
48
+ return this.get<ConfigResponse>(`/configs`)
49
+ }
50
+
51
+ public changePassword(id: string, password: string, password_confirmation: string) {
52
+ return this.put<ChangePasswordPayload, ChangePasswordResponse>(`/users/${id}/password`, {
53
+ password,
54
+ password_confirmation,
55
+ })
56
+ }
57
+ }
58
+
59
+ let api: AuthService
60
+
61
+ export default function useAuthService() {
62
+ if (!api) api = new AuthService()
63
+ return api
64
+ }
@@ -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,65 +1,65 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- import { Api_ControlLogs_Dto, Api_ControlZones_Dto } from '../types/Api_Controls'
4
- import { ResponseApi } from '../types/Api_Service'
5
-
6
- class ControlsService extends ApiService {
7
- public fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>> {
8
- return this.get('/frame/list', { params })
9
- }
10
-
11
- public async fetchControlZone(id: string): Promise<ResponseApi<Api_ControlZones_Dto>> {
12
- return this.get(`/frame/${id}`)
13
- }
14
-
15
- public createControlZone(params: any): Promise<ResponseApi<any>> {
16
- return this.post<any, ResponseApi<any>>('/frame', params)
17
- }
18
-
19
- public editControlZone(id: string, params: any): Promise<ResponseApi<any>> {
20
- return this.put<any, ResponseApi<any>>(`/frame/${id}`, params)
21
- }
22
-
23
- public deleteControlZone(id: string): Promise<any> {
24
- return this.delete<ResponseApi<any>>(`/frame/${id}`)
25
- }
26
-
27
- public fetchControlLogs(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
28
- return this.get('/exposed_equipment_zones/list', { params })
29
- }
30
-
31
- public fetchControllers(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
32
- return this.get('/frame/controllers/list', { params })
33
- }
34
-
35
- public fetchUsersWithPasses(): Promise<any> {
36
- return this.get('inspector/users-with-passes')
37
- }
38
-
39
- public fetchWarehousesList(): Promise<any> {
40
- return this.get('tasks/warehouse/list?only_outside_exposed_equipment_zone=1')
41
- }
42
-
43
- public manualEntry(params: any): Promise<ResponseApi<any>> {
44
- return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/enter', params)
45
- }
46
-
47
- public manualExit(params: any): Promise<ResponseApi<any>> {
48
- return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/exit', params)
49
- }
50
-
51
- public deleteControlLogs(params: any): Promise<any> {
52
- return this.delete<ResponseApi<any>>(`exposed_equipment_zones`, params)
53
- }
54
-
55
- public fetchInstrumentTypeList(params: any): Promise<any> {
56
- return this.get<ResponseApi<any>>(`search/instrument_types`, { params })
57
- }
58
- }
59
-
60
- let api: ControlsService
61
-
62
- export default function useControlsService() {
63
- if (!api) api = new ControlsService()
64
- return api
65
- }
1
+ import ApiService from '../settings/ApiService'
2
+
3
+ import { Api_ControlLogs_Dto, Api_ControlZones_Dto } from '../types/Api_Controls'
4
+ import { ResponseApi } from '../types/Api_Service'
5
+
6
+ class ControlsService extends ApiService {
7
+ public fetchControlZones(params: Record<string, any>): Promise<ResponseApi<Api_ControlZones_Dto[]>> {
8
+ return this.get('/frame/list', { params })
9
+ }
10
+
11
+ public async fetchControlZone(id: string): Promise<ResponseApi<Api_ControlZones_Dto>> {
12
+ return this.get(`/frame/${id}`)
13
+ }
14
+
15
+ public createControlZone(params: any): Promise<ResponseApi<any>> {
16
+ return this.post<any, ResponseApi<any>>('/frame', params)
17
+ }
18
+
19
+ public editControlZone(id: string, params: any): Promise<ResponseApi<any>> {
20
+ return this.put<any, ResponseApi<any>>(`/frame/${id}`, params)
21
+ }
22
+
23
+ public deleteControlZone(id: string): Promise<any> {
24
+ return this.delete<ResponseApi<any>>(`/frame/${id}`)
25
+ }
26
+
27
+ public fetchControlLogs(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
28
+ return this.get('/exposed_equipment_zones/list', { params })
29
+ }
30
+
31
+ public fetchControllers(params: Record<string, any>): Promise<ResponseApi<Api_ControlLogs_Dto[]>> {
32
+ return this.get('/frame/controllers/list', { params })
33
+ }
34
+
35
+ public fetchUsersWithPasses(): Promise<any> {
36
+ return this.get('inspector/users-with-passes')
37
+ }
38
+
39
+ public fetchWarehousesList(): Promise<any> {
40
+ return this.get('tasks/warehouse/list?only_outside_exposed_equipment_zone=1')
41
+ }
42
+
43
+ public manualEntry(params: any): Promise<ResponseApi<any>> {
44
+ return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/enter', params)
45
+ }
46
+
47
+ public manualExit(params: any): Promise<ResponseApi<any>> {
48
+ return this.post<any, ResponseApi<any>>('exposed_equipment_zones/hand/exit', params)
49
+ }
50
+
51
+ public deleteControlLogs(params: any): Promise<any> {
52
+ return this.delete<ResponseApi<any>>(`exposed_equipment_zones`, params)
53
+ }
54
+
55
+ public fetchInstrumentTypeList(params: any): Promise<any> {
56
+ return this.get<ResponseApi<any>>(`search/instrument_types`, { params })
57
+ }
58
+ }
59
+
60
+ let api: ControlsService
61
+
62
+ export default function useControlsService() {
63
+ if (!api) api = new ControlsService()
64
+ return api
65
+ }
@@ -0,0 +1,29 @@
1
+ import ApiService from '../settings/ApiService'
2
+ import { ResponseApi } from '../types/Api_Service'
3
+ import { Api_Equipment_Full_Dto } from '@/api/types/Api_Repairs'
4
+ import { Api_Equipment_Create } from '@/api/types/Api_Equipment'
5
+
6
+ class EquipmentService extends ApiService {
7
+ public fetchEquipment(params: any): Promise<ResponseApi<Api_Equipment_Full_Dto[]>> {
8
+ return this.get<ResponseApi<Api_Equipment_Full_Dto[]>>('repairs/equipment/list', { params })
9
+ }
10
+
11
+ public createEquipment(body: Api_Equipment_Create): Promise<Api_Equipment_Full_Dto> {
12
+ return this.post<Api_Equipment_Create, Api_Equipment_Full_Dto>('repairs/equipment', body)
13
+ }
14
+
15
+ public editEquipment(id: string, body: Partial<Api_Equipment_Create>): Promise<Api_Equipment_Full_Dto> {
16
+ return this.put<Partial<Api_Equipment_Create>, Api_Equipment_Full_Dto>(`repairs/equipment/${id}`, body)
17
+ }
18
+
19
+ public deleteEquipment(id: string): Promise<{ data: boolean; status: number }> {
20
+ return this.delete(`repairs/equipment/${id}`)
21
+ }
22
+ }
23
+
24
+ let api: EquipmentService
25
+
26
+ export default function useEquipmentService() {
27
+ if (!api) api = new EquipmentService()
28
+ return api
29
+ }
@@ -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,17 +1,17 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- class GanttService extends ApiService {
4
- public async fetchCriticalPathTasks(params: string): Promise<any> {
5
- return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
6
- }
7
- public async fetchGanttList(params: string): Promise<any> {
8
- return await this.get(`/list/tasks/search?${params}&gantt=1`)
9
- }
10
- }
11
-
12
- let api: GanttService
13
-
14
- export default function useGanttService() {
15
- if (!api) api = new GanttService()
16
- return api
17
- }
1
+ import ApiService from '../settings/ApiService'
2
+
3
+ class GanttService extends ApiService {
4
+ public async fetchCriticalPathTasks(params: string): Promise<any> {
5
+ return await this.get(`gantt/get_list_task_on_critical_path?${params}`)
6
+ }
7
+ public async fetchGanttList(params: string): Promise<any> {
8
+ return await this.get(`/list/tasks/search?${params}&gantt=1`)
9
+ }
10
+ }
11
+
12
+ let api: GanttService
13
+
14
+ export default function useGanttService() {
15
+ if (!api) api = new GanttService()
16
+ return api
17
+ }
@@ -1,22 +1,22 @@
1
- import ApiService from '../settings/ApiService'
2
- import { Api_instruments_HistoryResponse } from '../types/Api_Instruments'
3
-
4
- class InstrumentsService extends ApiService {
5
- public async fetchUserInstrumentsHistory(id: string, page?: number): Promise<Api_instruments_HistoryResponse> {
6
- const params = {
7
- status: 'issued',
8
- page,
9
- desc: 'desc',
10
- column: 'issued_in',
11
- }
12
-
13
- return await this.get(`users/${id}/instruments`, { params })
14
- }
15
- }
16
-
17
- let api: InstrumentsService
18
-
19
- export default function useInstrumentsService() {
20
- if (!api) api = new InstrumentsService()
21
- return api
22
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { Api_instruments_HistoryResponse } from '../types/Api_Instruments'
3
+
4
+ class InstrumentsService extends ApiService {
5
+ public async fetchUserInstrumentsHistory(id: string, page?: number): Promise<Api_instruments_HistoryResponse> {
6
+ const params = {
7
+ status: 'issued',
8
+ page,
9
+ desc: 'desc',
10
+ column: 'issued_in',
11
+ }
12
+
13
+ return await this.get(`users/${id}/instruments`, { params })
14
+ }
15
+ }
16
+
17
+ let api: InstrumentsService
18
+
19
+ export default function useInstrumentsService() {
20
+ if (!api) api = new InstrumentsService()
21
+ return api
22
+ }