shared-ritm 1.2.67 → 1.2.69

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 (53) hide show
  1. package/README.md +103 -103
  2. package/dist/index.css +1 -1
  3. package/dist/shared-ritm.es.js +27939 -8483
  4. package/dist/shared-ritm.umd.js +3834 -7
  5. package/dist/types/api/services/PhotoService.d.ts +40 -0
  6. package/dist/types/api/services/UserService.d.ts +11 -0
  7. package/dist/types/api/types/Api_Instruments.d.ts +1 -35
  8. package/dist/types/api/types/Api_User.d.ts +42 -0
  9. package/dist/types/index.d.ts +5 -1
  10. package/dist/types/utils/helpers.d.ts +1 -0
  11. package/package.json +64 -63
  12. package/src/api/services/PhotoService.ts +137 -0
  13. package/src/api/services/UserService.ts +19 -0
  14. package/src/api/types/Api_Controls.ts +72 -72
  15. package/src/api/types/Api_Files.ts +1 -1
  16. package/src/api/types/Api_Instruments.ts +98 -133
  17. package/src/api/types/Api_Projects.ts +55 -55
  18. package/src/api/types/Api_Repairs.ts +93 -93
  19. package/src/api/types/Api_Tasks.ts +155 -155
  20. package/src/api/types/Api_User.ts +44 -0
  21. package/src/common/app-checkbox/AppCheckbox.vue +26 -26
  22. package/src/common/app-dialogs/AppConfirmDialog.vue +99 -99
  23. package/src/common/app-dropdown/AppDropdown.vue +31 -31
  24. package/src/common/app-input/AppInput.vue +148 -148
  25. package/src/common/app-select/AppSelect.vue +157 -157
  26. package/src/common/app-sheet/AppSheet.vue +120 -120
  27. package/src/common/app-sidebar/components/SidebarMenuItem.vue +148 -148
  28. package/src/common/app-table/AppTable.vue +250 -250
  29. package/src/common/app-table/AppTableLayout.vue +111 -111
  30. package/src/common/app-table/components/ModalSelect.vue +264 -264
  31. package/src/common/app-table/components/TableModal.vue +329 -329
  32. package/src/common/app-table/components/TablePagination.vue +152 -152
  33. package/src/common/app-table/components/TableSearch.vue +76 -76
  34. package/src/common/app-table/controllers/useBaseTable.ts +42 -42
  35. package/src/common/app-table/controllers/useColumnSelector.ts +38 -38
  36. package/src/common/app-table/controllers/useTableModel.ts +93 -93
  37. package/src/common/app-toggle/AppToggle.vue +23 -23
  38. package/src/common/app-wrapper/AppWrapper.vue +28 -28
  39. package/src/icons/components/table-filter-icon.vue +30 -30
  40. package/src/icons/dialogs/RemoveIcon.vue +12 -12
  41. package/src/icons/dialogs/SafetyIcon.vue +12 -12
  42. package/src/icons/task/attention-icon.vue +13 -13
  43. package/src/icons/task/clock-icon.vue +10 -10
  44. package/src/icons/task/delete-icon.vue +10 -10
  45. package/src/icons/task/fire-icon.vue +16 -16
  46. package/src/index.ts +6 -0
  47. package/src/main.ts +28 -28
  48. package/src/shared/styles/general.css +125 -125
  49. package/src/styles/variables.sass +12 -12
  50. package/src/utils/confirm.ts +12 -12
  51. package/src/utils/helpers.ts +58 -39
  52. package/src/utils/notification.ts +9 -9
  53. package/dist/types/api/types/Api_Users.d.ts +0 -43
@@ -0,0 +1,40 @@
1
+ import * as faceapi from 'face-api.js';
2
+ declare class PhotoService {
3
+ getVideoStreamConfig(width: number, height: number): {
4
+ audio: boolean;
5
+ video: {
6
+ width: {
7
+ min: number;
8
+ ideal: number;
9
+ };
10
+ height: {
11
+ min: number;
12
+ ideal: number;
13
+ };
14
+ facingMode: string;
15
+ };
16
+ };
17
+ getContourCoordinate(width: number, height: number): {
18
+ x: number;
19
+ y: number;
20
+ width: number;
21
+ height: number;
22
+ };
23
+ getBoxData(box: any): {
24
+ x: any;
25
+ y: any;
26
+ width: any;
27
+ height: any;
28
+ } | null;
29
+ setStylesForCanvas(canvasContainer: any): void;
30
+ checkFaceInclusion(frame: any, face: any): boolean;
31
+ getFaceDetections(videoRef: any): Promise<faceapi.WithFaceExpressions<faceapi.WithFaceLandmarks<{
32
+ detection: faceapi.FaceDetection;
33
+ }, faceapi.FaceLandmarks68>>[]>;
34
+ getCanvas(videoRef: any): HTMLCanvasElement;
35
+ getResizedAndDetection(canvas: any, detections: any, ctx: any, videoWidth: number, videoHeight: number): void;
36
+ getFaceSnapshot(inputImage: any, box: any): Promise<string | null>;
37
+ initModels(): Promise<void>;
38
+ }
39
+ export default function usePhotoService(): PhotoService;
40
+ export {};
@@ -0,0 +1,11 @@
1
+ import ApiService from '@/api/settings/ApiService';
2
+ import { Api_User } from '@/api/types/Api_User';
3
+ declare class UserService extends ApiService {
4
+ editUser({ id, model }: {
5
+ id: string;
6
+ model: any;
7
+ }): Promise<Api_User>;
8
+ getUser(id: string): Promise<Api_User>;
9
+ }
10
+ export default function useUserService(): UserService;
11
+ export {};
@@ -1,3 +1,4 @@
1
+ import { Api_User } from '@/api/types/Api_User';
1
2
  export type Api_Instrument_Storage = {
2
3
  id: string;
3
4
  created_at: string;
@@ -30,18 +31,6 @@ export type Api_Instrument_Location = {
30
31
  deleted_at: string | null;
31
32
  state_id: unknown | null;
32
33
  };
33
- export type Api_User_Team = {
34
- id: string;
35
- name: string;
36
- display_name: string;
37
- description: string;
38
- created_at: string;
39
- updated_at: string;
40
- pivot: {
41
- team_id: string;
42
- user_id: string;
43
- };
44
- };
45
34
  export type Api_Instrument_Status = {
46
35
  id: string;
47
36
  description: string;
@@ -51,29 +40,6 @@ export type Api_Instrument_Status = {
51
40
  updated_at: string;
52
41
  deleted_at: string | null;
53
42
  };
54
- export type Api_User = {
55
- id: string;
56
- RFID: string;
57
- avatar: unknown | null;
58
- avatar_id: string | null;
59
- change_password: string;
60
- created_at: string;
61
- updated_at: string;
62
- deleted_at: string | null;
63
- dismissal_at: string | null;
64
- email_verified_at: string;
65
- divisions: string;
66
- email: string;
67
- face_recognition_id: string | null;
68
- first_name: string;
69
- full_name: string;
70
- last_name: string;
71
- patronymic: string;
72
- personnel_number: number;
73
- phone: string;
74
- profession: string;
75
- teams: Api_User_Team[];
76
- };
77
43
  export type Api_Instrument = {
78
44
  id: string;
79
45
  RFID: string | null;
@@ -0,0 +1,42 @@
1
+ export type Api_User_Team = {
2
+ id: string;
3
+ name: string;
4
+ display_name: string;
5
+ description: string;
6
+ created_at: string;
7
+ updated_at: string;
8
+ pivot: {
9
+ team_id: string;
10
+ user_id: string;
11
+ };
12
+ };
13
+ export type Api_User_Photo = {
14
+ id: string;
15
+ name: string;
16
+ path: string;
17
+ type: string;
18
+ };
19
+ export type Api_User = {
20
+ id: string;
21
+ RFID: string;
22
+ avatar: unknown | null;
23
+ avatar_id: string | null;
24
+ change_password: string;
25
+ created_at: string;
26
+ updated_at: string;
27
+ deleted_at: string | null;
28
+ dismissal_at: string | null;
29
+ email_verified_at: string;
30
+ divisions: string;
31
+ email: string;
32
+ face_recognition_id: string | null;
33
+ first_name: string;
34
+ full_name: string;
35
+ last_name: string;
36
+ patronymic: string;
37
+ personnel_number: number;
38
+ phone: string;
39
+ profession: string;
40
+ teams: Api_User_Team[];
41
+ photos: Api_User_Photo[];
42
+ };
@@ -30,17 +30,20 @@ import useTasksService from '@/api/services/TasksService';
30
30
  import useAuthService from '@/api/services/AuthService';
31
31
  import useFileService from '@/api/services/FileService';
32
32
  import useVideoService from '@/api/services/VideoService';
33
+ import useUserService from '@/api/services/UserService';
34
+ import usePhotoService from '@/api/services/PhotoService';
33
35
  import useInstrumentsService from '@/api/services/InstrumentsService';
34
36
  import useControlsService from '@/api/services/ControlsService';
35
37
  import useSearchService from '@/api/services/SearchService';
36
38
  export { AppButton, AppCheckbox, AppDatePicker, AppInput, AppInputSearch, AppLayout, AppLayoutHeader, AppLayoutPage, AppLoader, AppSelect, AppSheet, AppSidebar, AppToggle, AppWrapper, AppConfirmDialog, AppDropdown, AppTablePagination, AppTableSearch, AppTableModal, AppTable, AppTableLayout, AppModalSelect, };
37
- export { ApiService, useAuthService, useGanttService, useMetricsService, useProjectsService, useRepairsService, useTasksService, useFileService, useControlsService, useVideoService, useInstrumentsService, useSearchService, };
39
+ export { ApiService, useAuthService, useGanttService, useMetricsService, useProjectsService, useRepairsService, useTasksService, useFileService, useControlsService, useVideoService, useUserService, usePhotoService, useInstrumentsService, useSearchService, };
38
40
  export { useBaseTable } from './common/app-table/controllers/useBaseTable';
39
41
  export { useTableModel } from './common/app-table/controllers/useTableModel';
40
42
  export { useColumnSelector } from './common/app-table/controllers/useColumnSelector';
41
43
  export type { FilterOption, TableModel, TableColumn } from './common/app-table/controllers/useTableModel';
42
44
  export type { NotificationType } from './utils/notification';
43
45
  export { notificationSettings } from './utils/notification';
46
+ export * from './utils/helpers';
44
47
  export * from './api/types/Api_Service';
45
48
  export * from './api/types/Api_Tasks';
46
49
  export * from './api/types/Api_Repairs';
@@ -48,3 +51,4 @@ export * from './api/types/Api_Projects';
48
51
  export * from './api/types/Api_Controls';
49
52
  export * from './api/types/Api_Instruments';
50
53
  export * from './api/types/Api_Search';
54
+ export * from './api/types/Api_User';
@@ -15,3 +15,4 @@ export declare function normalizeValue(val: any): any;
15
15
  * Используется для идентификаторов временных сущностей.
16
16
  */
17
17
  export declare function uuidv4(): string;
18
+ export declare function base64ToBlob(base64Data: string): Blob;
package/package.json CHANGED
@@ -1,63 +1,64 @@
1
- {
2
- "name": "shared-ritm",
3
- "version": "1.2.67",
4
- "private": false,
5
- "files": [
6
- "dist",
7
- "src"
8
- ],
9
- "main": "dist/shared-ritm.umd.js",
10
- "type": "module",
11
- "module": "./dist/shared-ritm.es.js",
12
- "types": "./dist/types/index.d.ts",
13
- "exports": {
14
- ".": {
15
- "import": "./dist/shared-ritm.es.js",
16
- "require": "./dist/shared-ritm.umd.js",
17
- "default": "./dist/shared-ritm.es.js",
18
- "types": "./dist/types/index.d.ts"
19
- },
20
- "./style": "./dist/index.css"
21
- },
22
- "scripts": {
23
- "dev": "vite",
24
- "build": "vite build && tsc --emitDeclarationOnly",
25
- "typecheck": "vue-tsc --noEmit",
26
- "lint": "eslint --fix",
27
- "format": "prettier -w -u ."
28
- },
29
- "dependencies": {
30
- "@quasar/extras": "^1.16.17",
31
- "@vueuse/core": "^10.1.2",
32
- "axios": "^1.7.7",
33
- "vue": "^3.5.12",
34
- "vue-router": "^4.0.3"
35
- },
36
- "peerDependencies": {
37
- "quasar": "^2.18.1"
38
- },
39
- "devDependencies": {
40
- "@quasar/vite-plugin": "^1.9.0",
41
- "@rollup/pluginutils": "^5.1.3",
42
- "@types/node": "^22.7.9",
43
- "@typescript-eslint/eslint-plugin": "^4.25.0",
44
- "@typescript-eslint/parser": "^4.25.0",
45
- "@vitejs/plugin-vue": "^5.1.4",
46
- "@vue/compiler-sfc": "^3.0.5",
47
- "@vue/eslint-config-prettier": "^6.0.0",
48
- "@vue/eslint-config-typescript": "^7.0.0",
49
- "eslint": "^7.27.0",
50
- "eslint-plugin-prettier": "^3.4.0",
51
- "eslint-plugin-vue": "^7.10.0",
52
- "install": "^0.13.0",
53
- "npm": "^11.4.0",
54
- "prettier": "^2.3.0",
55
- "quasar": "^2.18.1",
56
- "rollup-plugin-visualizer": "^5.14.0",
57
- "sass": "^1.80.4",
58
- "typescript": "^5.6.3",
59
- "vite": "^5.4.9",
60
- "vite-plugin-css-modules": "^0.0.1",
61
- "vue-tsc": "^2.1.6"
62
- }
63
- }
1
+ {
2
+ "name": "shared-ritm",
3
+ "version": "1.2.69",
4
+ "private": false,
5
+ "files": [
6
+ "dist",
7
+ "src"
8
+ ],
9
+ "main": "dist/shared-ritm.umd.js",
10
+ "type": "module",
11
+ "module": "./dist/shared-ritm.es.js",
12
+ "types": "./dist/types/index.d.ts",
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/shared-ritm.es.js",
16
+ "require": "./dist/shared-ritm.umd.js",
17
+ "default": "./dist/shared-ritm.es.js",
18
+ "types": "./dist/types/index.d.ts"
19
+ },
20
+ "./style": "./dist/index.css"
21
+ },
22
+ "scripts": {
23
+ "dev": "vite",
24
+ "build": "vite build && tsc --emitDeclarationOnly",
25
+ "typecheck": "vue-tsc --noEmit",
26
+ "lint": "eslint --fix",
27
+ "format": "prettier -w -u ."
28
+ },
29
+ "dependencies": {
30
+ "@quasar/extras": "^1.16.17",
31
+ "@vueuse/core": "^10.1.2",
32
+ "face-api.js": "^0.22.2",
33
+ "axios": "^1.7.7",
34
+ "vue": "^3.5.12",
35
+ "vue-router": "^4.0.3"
36
+ },
37
+ "peerDependencies": {
38
+ "quasar": "^2.18.1"
39
+ },
40
+ "devDependencies": {
41
+ "@quasar/vite-plugin": "^1.9.0",
42
+ "@rollup/pluginutils": "^5.1.3",
43
+ "@types/node": "^22.7.9",
44
+ "@typescript-eslint/eslint-plugin": "^4.25.0",
45
+ "@typescript-eslint/parser": "^4.25.0",
46
+ "@vitejs/plugin-vue": "^5.1.4",
47
+ "@vue/compiler-sfc": "^3.0.5",
48
+ "@vue/eslint-config-prettier": "^6.0.0",
49
+ "@vue/eslint-config-typescript": "^7.0.0",
50
+ "eslint": "^7.27.0",
51
+ "eslint-plugin-prettier": "^3.4.0",
52
+ "eslint-plugin-vue": "^7.10.0",
53
+ "install": "^0.13.0",
54
+ "npm": "^11.4.0",
55
+ "prettier": "^2.3.0",
56
+ "quasar": "^2.18.1",
57
+ "rollup-plugin-visualizer": "^5.14.0",
58
+ "sass": "^1.80.4",
59
+ "typescript": "^5.6.3",
60
+ "vite": "^5.4.9",
61
+ "vite-plugin-css-modules": "^0.0.1",
62
+ "vue-tsc": "^2.1.6"
63
+ }
64
+ }
@@ -0,0 +1,137 @@
1
+ import * as faceapi from 'face-api.js'
2
+
3
+ class PhotoService {
4
+ // async getFaceSnapshot(inputImage: any, box: any) {
5
+ // const regionsToExtract = [new faceapi.Rect(box.x, box.y, box.width, box.height)]
6
+ // const faceImages = await faceapi.extractFaces(inputImage, regionsToExtract)
7
+ // if (faceImages.length) {
8
+ // const dataUrl = faceImages[0].toDataURL('image/jpeg')
9
+ // photo.value = dataUrl.replace(/^data:image\/\w+;base64,/, '')
10
+ // }
11
+ // }
12
+
13
+ // Метод настройки конфига для стрима
14
+ getVideoStreamConfig(width: number, height: number) {
15
+ return {
16
+ audio: false,
17
+ video: {
18
+ width: { min: width, ideal: width },
19
+ height: { min: height, ideal: height },
20
+ facingMode: 'environment', // или 'user' для фронтальной камеры
21
+ },
22
+ }
23
+ }
24
+
25
+ // Метод для настройки рамки, где должно помещаться лицо
26
+ getContourCoordinate(width: number, height: number) {
27
+ return {
28
+ x: width * 0.25,
29
+ y: height * 0.05,
30
+ width: width * 0.5,
31
+ height: height * 0.9,
32
+ }
33
+ }
34
+
35
+ getBoxData(box: any) {
36
+ if (!box) return null
37
+ return {
38
+ x: box.x,
39
+ y: box.y,
40
+ width: box.width,
41
+ height: box.height,
42
+ }
43
+ }
44
+
45
+ setStylesForCanvas(canvasContainer: any) {
46
+ canvasContainer.width = '100%'
47
+ canvasContainer.height = '100%'
48
+ canvasContainer.style.position = 'absolute'
49
+ canvasContainer.style.top = '0'
50
+ canvasContainer.style.left = '0'
51
+ }
52
+
53
+ // Метод для рассчёта того, что лицо полностью помещается в рамке
54
+ checkFaceInclusion(frame: any, face: any) {
55
+ if (!frame || !face) return false
56
+
57
+ if (face.width > frame.width || face.height > frame.height) {
58
+ return false
59
+ }
60
+
61
+ const faceXmin = face.x
62
+ const faceXmax = face.x + face.width
63
+ const faceYmin = face.y
64
+ const faceYmax = face.y + face.height
65
+
66
+ const frameXmin = frame.x
67
+ const frameXmax = frame.x + frame.width
68
+ const frameYmin = frame.y
69
+ const frameYmax = frame.y + frame.height
70
+
71
+ return faceXmin >= frameXmin && faceXmax <= frameXmax && faceYmin >= frameYmin && faceYmax <= frameYmax
72
+ }
73
+
74
+ async getFaceDetections(videoRef: any) {
75
+ if (!videoRef) return []
76
+ return faceapi
77
+ .detectAllFaces(videoRef, new faceapi.TinyFaceDetectorOptions())
78
+ .withFaceLandmarks()
79
+ .withFaceExpressions()
80
+ }
81
+
82
+ getCanvas(videoRef: any) {
83
+ return faceapi.createCanvasFromMedia(videoRef)
84
+ }
85
+
86
+ getResizedAndDetection(canvas: any, detections: any, ctx: any, videoWidth: number, videoHeight: number) {
87
+ faceapi.matchDimensions(canvas, { width: videoWidth, height: videoHeight })
88
+
89
+ const resized = faceapi.resizeResults(detections, {
90
+ width: videoWidth,
91
+ height: videoHeight,
92
+ })
93
+
94
+ ctx.clearRect(0, 0, videoWidth, videoHeight)
95
+
96
+ faceapi.draw.drawDetections(canvas, resized)
97
+ faceapi.draw.drawFaceLandmarks(canvas, resized)
98
+ faceapi.draw.drawFaceExpressions(canvas, resized)
99
+ }
100
+
101
+ async getFaceSnapshot(inputImage: any, box: any) {
102
+ const regionsToExtract = [new faceapi.Rect(box.x, box.y, box.width, box.height)]
103
+ const faceImages = await faceapi.extractFaces(inputImage, regionsToExtract)
104
+
105
+ if (faceImages.length) {
106
+ const dataUrl = faceImages[0].toDataURL('image/jpeg')
107
+ return dataUrl.replace(/^data:image\/\w+;base64,/, '')
108
+ }
109
+
110
+ return null
111
+ }
112
+
113
+ async initModels() {
114
+ let date = new Date()
115
+ console.log(date)
116
+ try {
117
+ await Promise.all([
118
+ faceapi.nets.tinyFaceDetector.loadFromUri('/models'),
119
+ faceapi.nets.faceLandmark68Net.loadFromUri('/models'),
120
+ faceapi.nets.faceRecognitionNet.loadFromUri('/models'),
121
+ faceapi.nets.faceExpressionNet.loadFromUri('/models'),
122
+ //faceapi.nets.ssdMobilenetv1.loadFromUri('/models'),
123
+ ])
124
+ } catch (error) {
125
+ console.error(error)
126
+ }
127
+ date = new Date()
128
+ console.log(date)
129
+ }
130
+ }
131
+
132
+ let api: PhotoService
133
+
134
+ export default function usePhotoService() {
135
+ if (!api) api = new PhotoService()
136
+ return api
137
+ }
@@ -0,0 +1,19 @@
1
+ import ApiService from '@/api/settings/ApiService'
2
+ import { Api_User } from '@/api/types/Api_User'
3
+
4
+ class UserService extends ApiService {
5
+ public async editUser({ id, model }: { id: string; model: any }): Promise<Api_User> {
6
+ return await this.put<Partial<Api_User>, Api_User>(`/admin/users/${id}`, model)
7
+ }
8
+
9
+ public async getUser(id: string): Promise<Api_User> {
10
+ return await this.get<Api_User>(`/admin/users/${id}`)
11
+ }
12
+ }
13
+
14
+ let api: UserService
15
+
16
+ export default function useUserService() {
17
+ if (!api) api = new UserService()
18
+ return api
19
+ }
@@ -1,72 +1,72 @@
1
- export type Api_User_Dto = {
2
- id: string
3
- full_name: string
4
- }
5
- export type Api_ControlZones_Dto = {
6
- id: string
7
- name: string
8
- inventory_number: string
9
- uuid: string
10
- controller_zone: string
11
- users?: Api_User_Dto[]
12
- }
13
- export type ControlsParams = {
14
- search?: string
15
- page?: number
16
- filter?: Record<string, string[]>
17
- }
18
-
19
- export interface ControlMeta {
20
- total: number
21
- perPage: number
22
- totalPages: number
23
- currentPage: number
24
- }
25
-
26
- export type FiltersValue = {
27
- users?: {
28
- users: Api_User_Dto[]
29
- }
30
- controller?: {
31
- controller: Api_User_Dto[]
32
- }
33
- responsible?: {
34
- responsible: Api_User_Dto[]
35
- }
36
- status?: {
37
- status: boolean
38
- }
39
- }
40
- export type Api_Instrument_Dto = {
41
- id: string
42
- name: string
43
- storage_id?: string
44
- }
45
- export type Api_Warehouse_Dto = {
46
- id: string
47
- invoice_ref_key: string
48
- inventory_number: string
49
- instrument: Api_Instrument_Dto[]
50
- }
51
-
52
- export type Api_ControlLogs_Dto = {
53
- id: string
54
- automatically: string
55
- in_zone: string
56
- uuid: string
57
- controller_zone: string
58
- controller: Api_User_Dto[]
59
- user: Api_User_Dto[]
60
- frame: Api_ControlZones_Dto[]
61
- warehouse: Api_Warehouse_Dto[]
62
- }
63
- export type Api_New_Items = {
64
- title: string
65
- inventory_numbers: string
66
- storage_id: string
67
- }
68
- export type Api_ManualEntry_Dto = {
69
- user: string
70
- items?: string[]
71
- new_items?: Api_New_Items[]
72
- }
1
+ export type Api_User_Dto = {
2
+ id: string
3
+ full_name: string
4
+ }
5
+ export type Api_ControlZones_Dto = {
6
+ id: string
7
+ name: string
8
+ inventory_number: string
9
+ uuid: string
10
+ controller_zone: string
11
+ users?: Api_User_Dto[]
12
+ }
13
+ export type ControlsParams = {
14
+ search?: string
15
+ page?: number
16
+ filter?: Record<string, string[]>
17
+ }
18
+
19
+ export interface ControlMeta {
20
+ total: number
21
+ perPage: number
22
+ totalPages: number
23
+ currentPage: number
24
+ }
25
+
26
+ export type FiltersValue = {
27
+ users?: {
28
+ users: Api_User_Dto[]
29
+ }
30
+ controller?: {
31
+ controller: Api_User_Dto[]
32
+ }
33
+ responsible?: {
34
+ responsible: Api_User_Dto[]
35
+ }
36
+ status?: {
37
+ status: boolean
38
+ }
39
+ }
40
+ export type Api_Instrument_Dto = {
41
+ id: string
42
+ name: string
43
+ storage_id?: string
44
+ }
45
+ export type Api_Warehouse_Dto = {
46
+ id: string
47
+ invoice_ref_key: string
48
+ inventory_number: string
49
+ instrument: Api_Instrument_Dto[]
50
+ }
51
+
52
+ export type Api_ControlLogs_Dto = {
53
+ id: string
54
+ automatically: string
55
+ in_zone: string
56
+ uuid: string
57
+ controller_zone: string
58
+ controller: Api_User_Dto[]
59
+ user: Api_User_Dto[]
60
+ frame: Api_ControlZones_Dto[]
61
+ warehouse: Api_Warehouse_Dto[]
62
+ }
63
+ export type Api_New_Items = {
64
+ title: string
65
+ inventory_numbers: string
66
+ storage_id: string
67
+ }
68
+ export type Api_ManualEntry_Dto = {
69
+ user: string
70
+ items?: string[]
71
+ new_items?: Api_New_Items[]
72
+ }
@@ -1 +1 @@
1
- export type Api_Files_Responsible_Dto = unknown
1
+ export type Api_Files_Responsible_Dto = unknown