shared-ritm 1.2.95 → 1.2.96

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.
@@ -1,123 +1,123 @@
1
- import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
2
-
3
- export enum ApiServiceType {
4
- SERVICE_AUTH = 'SERVICE_AUTH',
5
- }
6
-
7
- export default class ApiService {
8
- private axiosInstance: AxiosInstance
9
-
10
- constructor() {
11
- this.axiosInstance = axios.create({
12
- baseURL: process.env.VUE_APP_BACKEND,
13
- headers: {
14
- 'Content-Type': 'application/json',
15
- Accept: 'application/json',
16
- },
17
- })
18
-
19
- this.axiosInstance.interceptors.request.use(
20
- (config: InternalAxiosRequestConfig) => {
21
- const token = this.getToken()
22
- if (token && config.headers) {
23
- config.headers.Authorization = `Bearer ${token}`
24
- }
25
- return config
26
- },
27
- (error: AxiosError) => {
28
- return Promise.reject(error)
29
- },
30
- )
31
-
32
- this.axiosInstance.interceptors.response.use(
33
- (response: AxiosResponse) => {
34
- return response.data
35
- },
36
- (error: AxiosError) => {
37
- if (error.response?.status === 401 || error.response?.status === 403) {
38
- this.logout()
39
- }
40
- return Promise.reject(error)
41
- },
42
- )
43
- }
44
-
45
- private getToken() {
46
- return localStorage.getItem('token')
47
- }
48
-
49
- private removeToken() {
50
- localStorage.removeItem('token')
51
- }
52
-
53
- public logout(): void {
54
- this.removeToken()
55
- window.location.href = '/sign-in'
56
- }
57
-
58
- private handleError(error: AxiosError): void {
59
- if (error.response) {
60
- console.error('API Error:', error.response.status, error.response.data)
61
- } else if (error.request) {
62
- console.error('No response received:', error.request)
63
- } else {
64
- console.error('Error during request setup:', error.message)
65
- }
66
- }
67
-
68
- protected async get<T>(url: string, options?: AxiosRequestConfig) {
69
- try {
70
- const response: AxiosResponse<T> = await this.axiosInstance.get<T>(url, options)
71
- if (response?.data === false) return false as unknown as T
72
- return response?.data ?? (response as unknown as T)
73
- } catch (error) {
74
- const axiosError = error as AxiosError
75
- this.handleError(axiosError)
76
- throw error
77
- }
78
- }
79
-
80
- protected async delete<T>(url: string, options?: AxiosRequestConfig) {
81
- try {
82
- return await this.axiosInstance.delete<T>(url, options)
83
- } catch (error) {
84
- const axiosError = error as AxiosError
85
- this.handleError(axiosError)
86
- throw error
87
- }
88
- }
89
-
90
- protected async post<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
91
- try {
92
- const response: AxiosResponse<T2> = await this.axiosInstance.post<T1, AxiosResponse<T2>>(url, payload, options)
93
- if (response?.data === false) return false
94
- return response?.data || (response as any)
95
- } catch (error) {
96
- const axiosError = error as AxiosError
97
- this.handleError(axiosError)
98
- throw error
99
- }
100
- }
101
-
102
- protected async patch<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig): Promise<T2> {
103
- try {
104
- const response: AxiosResponse<T2> = await this.axiosInstance.patch<T1, AxiosResponse<T2>>(url, payload, options)
105
- return response.data
106
- } catch (error) {
107
- const axiosError = error as AxiosError
108
- this.handleError(axiosError)
109
- throw error
110
- }
111
- }
112
-
113
- protected async put<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
114
- try {
115
- const response: AxiosResponse<T2> = await this.axiosInstance.put<T1, AxiosResponse<T2>>(url, payload, options)
116
- return response.data
117
- } catch (error) {
118
- const axiosError = error as AxiosError
119
- this.handleError(axiosError)
120
- throw error
121
- }
122
- }
123
- }
1
+ import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
2
+
3
+ export enum ApiServiceType {
4
+ SERVICE_AUTH = 'SERVICE_AUTH',
5
+ }
6
+
7
+ export default class ApiService {
8
+ private axiosInstance: AxiosInstance
9
+
10
+ constructor() {
11
+ this.axiosInstance = axios.create({
12
+ baseURL: process.env.VUE_APP_BACKEND,
13
+ headers: {
14
+ 'Content-Type': 'application/json',
15
+ Accept: 'application/json',
16
+ },
17
+ })
18
+
19
+ this.axiosInstance.interceptors.request.use(
20
+ (config: InternalAxiosRequestConfig) => {
21
+ const token = this.getToken()
22
+ if (token && config.headers) {
23
+ config.headers.Authorization = `Bearer ${token}`
24
+ }
25
+ return config
26
+ },
27
+ (error: AxiosError) => {
28
+ return Promise.reject(error)
29
+ },
30
+ )
31
+
32
+ this.axiosInstance.interceptors.response.use(
33
+ (response: AxiosResponse) => {
34
+ return response.data
35
+ },
36
+ (error: AxiosError) => {
37
+ if (error.response?.status === 401 || error.response?.status === 403) {
38
+ this.logout()
39
+ }
40
+ return Promise.reject(error)
41
+ },
42
+ )
43
+ }
44
+
45
+ private getToken() {
46
+ return localStorage.getItem('token')
47
+ }
48
+
49
+ private removeToken() {
50
+ localStorage.removeItem('token')
51
+ }
52
+
53
+ public logout(): void {
54
+ this.removeToken()
55
+ window.location.href = '/sign-in'
56
+ }
57
+
58
+ private handleError(error: AxiosError): void {
59
+ if (error.response) {
60
+ console.error('API Error:', error.response.status, error.response.data)
61
+ } else if (error.request) {
62
+ console.error('No response received:', error.request)
63
+ } else {
64
+ console.error('Error during request setup:', error.message)
65
+ }
66
+ }
67
+
68
+ protected async get<T>(url: string, options?: AxiosRequestConfig) {
69
+ try {
70
+ const response: AxiosResponse<T> = await this.axiosInstance.get<T>(url, options)
71
+ if (response?.data === false) return false as unknown as T
72
+ return response?.data ?? (response as unknown as T)
73
+ } catch (error) {
74
+ const axiosError = error as AxiosError
75
+ this.handleError(axiosError)
76
+ throw error
77
+ }
78
+ }
79
+
80
+ protected async delete<T>(url: string, options?: AxiosRequestConfig) {
81
+ try {
82
+ return await this.axiosInstance.delete<T>(url, options)
83
+ } catch (error) {
84
+ const axiosError = error as AxiosError
85
+ this.handleError(axiosError)
86
+ throw error
87
+ }
88
+ }
89
+
90
+ protected async post<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
91
+ try {
92
+ const response: AxiosResponse<T2> = await this.axiosInstance.post<T1, AxiosResponse<T2>>(url, payload, options)
93
+ if (response?.data === false) return false
94
+ return response?.data || (response as any)
95
+ } catch (error) {
96
+ const axiosError = error as AxiosError
97
+ this.handleError(axiosError)
98
+ throw error
99
+ }
100
+ }
101
+
102
+ protected async patch<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig): Promise<T2> {
103
+ try {
104
+ const response: AxiosResponse<T2> = await this.axiosInstance.patch<T1, AxiosResponse<T2>>(url, payload, options)
105
+ return response.data
106
+ } catch (error) {
107
+ const axiosError = error as AxiosError
108
+ this.handleError(axiosError)
109
+ throw error
110
+ }
111
+ }
112
+
113
+ protected async put<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
114
+ try {
115
+ const response: AxiosResponse<T2> = await this.axiosInstance.put<T1, AxiosResponse<T2>>(url, payload, options)
116
+ return response.data
117
+ } catch (error) {
118
+ const axiosError = error as AxiosError
119
+ this.handleError(axiosError)
120
+ throw error
121
+ }
122
+ }
123
+ }
@@ -1,98 +1,98 @@
1
- import { Api_User } from '../types/Api_User'
2
-
3
- export type Api_Instrument_Storage = {
4
- id: string
5
- created_at: string
6
- deleted_at: string | null
7
- updated_at: string
8
- description: string
9
- name: string
10
- title: string
11
- parent: unknown | null
12
- parents: unknown[]
13
- state_id: unknown | null
14
- }
15
-
16
- export type Api_Instrument_Type = {
17
- id: string
18
- name: string
19
- created_at: string
20
- updated_at: string
21
- deleted_at: string | null
22
- icon: string
23
- storage_id: string
24
- storage: Api_Instrument_Storage
25
- }
26
-
27
- export type Api_Instrument_Location = {
28
- id: string
29
- name: string
30
- title: string
31
- description: string
32
- created_at: string
33
- updated_at: string
34
- deleted_at: string | null
35
- state_id: unknown | null
36
- }
37
-
38
- export type Api_Instrument_Status = {
39
- id: string
40
- description: string
41
- name: string
42
- title: string
43
- created_at: string
44
- updated_at: string
45
- deleted_at: string | null
46
- }
47
-
48
- export type Api_Instrument = {
49
- id: string
50
- RFID: string | null
51
- instrument_id: string
52
- arrival_at: string
53
- created_at: string
54
- supply_at: string
55
- updated_at: string
56
- deleted_at: string | null
57
- inventory_number: string
58
- instrument_type: Api_Instrument_Type
59
- invoice_ref_key: string
60
- last_status_updated_at: string
61
- location_id: string
62
- location: Api_Instrument_Location
63
- misplacement: boolean
64
- module: string | null
65
- module_id: string | null
66
- name: string
67
- pressure: unknown | null
68
- registry_module_id: string
69
- responsible_id: string
70
- responsible: Api_User
71
- status: Api_Instrument_Status
72
- status_id: string
73
- storage: Api_Instrument_Storage
74
- supervisor: unknown | null
75
- supervisor_id: string
76
- type: unknown | null
77
- weight: unknown | null
78
- }
79
-
80
- export type Api_instruments_HistoryResponse = {
81
- data: Api_Instrument[]
82
- from: number
83
- to: number
84
- total: number
85
- per_page: number
86
- current_page: number
87
- total_pages: number
88
- last_page_url: string
89
- first_page_url: string
90
- next_page_url: string | null
91
- prev_page_url: string | null
92
- path: string
93
- links: {
94
- label: string
95
- url: string
96
- active: boolean
97
- }[]
98
- }
1
+ import { Api_User } from '../types/Api_User'
2
+
3
+ export type Api_Instrument_Storage = {
4
+ id: string
5
+ created_at: string
6
+ deleted_at: string | null
7
+ updated_at: string
8
+ description: string
9
+ name: string
10
+ title: string
11
+ parent: unknown | null
12
+ parents: unknown[]
13
+ state_id: unknown | null
14
+ }
15
+
16
+ export type Api_Instrument_Type = {
17
+ id: string
18
+ name: string
19
+ created_at: string
20
+ updated_at: string
21
+ deleted_at: string | null
22
+ icon: string
23
+ storage_id: string
24
+ storage: Api_Instrument_Storage
25
+ }
26
+
27
+ export type Api_Instrument_Location = {
28
+ id: string
29
+ name: string
30
+ title: string
31
+ description: string
32
+ created_at: string
33
+ updated_at: string
34
+ deleted_at: string | null
35
+ state_id: unknown | null
36
+ }
37
+
38
+ export type Api_Instrument_Status = {
39
+ id: string
40
+ description: string
41
+ name: string
42
+ title: string
43
+ created_at: string
44
+ updated_at: string
45
+ deleted_at: string | null
46
+ }
47
+
48
+ export type Api_Instrument = {
49
+ id: string
50
+ RFID: string | null
51
+ instrument_id: string
52
+ arrival_at: string
53
+ created_at: string
54
+ supply_at: string
55
+ updated_at: string
56
+ deleted_at: string | null
57
+ inventory_number: string
58
+ instrument_type: Api_Instrument_Type
59
+ invoice_ref_key: string
60
+ last_status_updated_at: string
61
+ location_id: string
62
+ location: Api_Instrument_Location
63
+ misplacement: boolean
64
+ module: string | null
65
+ module_id: string | null
66
+ name: string
67
+ pressure: unknown | null
68
+ registry_module_id: string
69
+ responsible_id: string
70
+ responsible: Api_User
71
+ status: Api_Instrument_Status
72
+ status_id: string
73
+ storage: Api_Instrument_Storage
74
+ supervisor: unknown | null
75
+ supervisor_id: string
76
+ type: unknown | null
77
+ weight: unknown | null
78
+ }
79
+
80
+ export type Api_instruments_HistoryResponse = {
81
+ data: Api_Instrument[]
82
+ from: number
83
+ to: number
84
+ total: number
85
+ per_page: number
86
+ current_page: number
87
+ total_pages: number
88
+ last_page_url: string
89
+ first_page_url: string
90
+ next_page_url: string | null
91
+ prev_page_url: string | null
92
+ path: string
93
+ links: {
94
+ label: string
95
+ url: string
96
+ active: boolean
97
+ }[]
98
+ }
@@ -190,7 +190,7 @@ export type Api_Tasks_Task_Dto = {
190
190
  position_assigned: Api_Tasks_Position_Assigned_Dto[]
191
191
  comments: Api_Comment_Dto[]
192
192
  teams: Api_Tasks_Teams_Dto[]
193
- equipment: Api_Tasks_Equipment_Dto[]
193
+ equipment: Api_Tasks_Equipment_Dto
194
194
  instrument_types: Api_Task_Instrument_From_Warehouse[]
195
195
  quality_metrics: Api_Task_QualityMetric_Dto[]
196
196
  video_source: Api_Task_VideoSource_Dto
@@ -1,117 +1,117 @@
1
- import { Api_Tasks_Status_Dto } from '@/api/types/Api_Tasks'
2
-
3
- export type Api_User_Team = {
4
- id: string
5
- name: string
6
- display_name: string
7
- description: string
8
- created_at: string
9
- updated_at: string
10
- pivot?: {
11
- team_id: string
12
- user_id: string
13
- }
14
- }
15
-
16
- export type Api_User_Team_Search = {
17
- id: string
18
- name: string
19
- display_name: string
20
- }
21
-
22
- export type Api_User_Photo = {
23
- id: string
24
- name: string
25
- path: string
26
- type: string
27
- }
28
-
29
- export type Api_User_Archive_History_Item = {
30
- user_id: string
31
- responsible_id: string
32
- archived_at: string
33
- reason: string | null
34
- restored_at: string | null
35
- }
36
-
37
- export type Api_User_Task = {
38
- id: string
39
- name: string
40
- project_id: string
41
- status: Api_Tasks_Status_Dto
42
- }
43
-
44
- export type Api_User = {
45
- id: string
46
- RFID: string
47
- avatar: unknown | null
48
- avatar_id: string | null
49
- change_password: string
50
- created_at: string
51
- updated_at: string
52
- deleted_at: string | null
53
- dismissal_at: string | null
54
- email_verified_at: string
55
- divisions: string
56
- email: string
57
- face_recognition_id: string | null
58
- first_name: string
59
- full_name: string
60
- last_name: string
61
- patronymic: string
62
- personnel_number: number
63
- phone: string
64
- profession: string
65
- teams: Api_User_Team[]
66
- photos: Api_User_Photo[]
67
- archiveHistory: Api_User_Archive_History_Item[]
68
- assigned_tasks?: Api_User_Task[]
69
- responsible_tasks?: Api_User_Task[]
70
- }
71
-
72
- export type Api_User_Create = {
73
- last_name?: string
74
- first_name?: string
75
- patronymic?: string
76
- email?: string
77
- phone?: string
78
- divisions?: string
79
- positions?: [string]
80
- teams?: {
81
- team_id: string
82
- roles: string[]
83
- }[]
84
- current_password?: string
85
- password?: string
86
- password_confirmation?: string
87
- }
88
-
89
- export type Api_User_Permission = {
90
- id: string
91
- name: string
92
- display_name: string
93
- }
94
-
95
- export type Api_User_Role = {
96
- id: string
97
- name: string
98
- display_name: string
99
- permissions?: Api_User_Permission[]
100
- }
101
-
102
- export type Api_User_Position = {
103
- id: string
104
- name: string
105
- display_name: string
106
- description?: string
107
- }
108
-
109
- export type Api_User_Delete_Body = {
110
- user_id: string
111
- archive_reason?: string
112
- }
113
-
114
- export type Api_User_Delete_Photos_Body = {
115
- user_id: string
116
- photos?: string[]
117
- }
1
+ import { Api_Tasks_Status_Dto } from '@/api/types/Api_Tasks'
2
+
3
+ export type Api_User_Team = {
4
+ id: string
5
+ name: string
6
+ display_name: string
7
+ description: string
8
+ created_at: string
9
+ updated_at: string
10
+ pivot?: {
11
+ team_id: string
12
+ user_id: string
13
+ }
14
+ }
15
+
16
+ export type Api_User_Team_Search = {
17
+ id: string
18
+ name: string
19
+ display_name: string
20
+ }
21
+
22
+ export type Api_User_Photo = {
23
+ id: string
24
+ name: string
25
+ path: string
26
+ type: string
27
+ }
28
+
29
+ export type Api_User_Archive_History_Item = {
30
+ user_id: string
31
+ responsible_id: string
32
+ archived_at: string
33
+ reason: string | null
34
+ restored_at: string | null
35
+ }
36
+
37
+ export type Api_User_Task = {
38
+ id: string
39
+ name: string
40
+ project_id: string
41
+ status: Api_Tasks_Status_Dto
42
+ }
43
+
44
+ export type Api_User = {
45
+ id: string
46
+ RFID: string
47
+ avatar: unknown | null
48
+ avatar_id: string | null
49
+ change_password: string
50
+ created_at: string
51
+ updated_at: string
52
+ deleted_at: string | null
53
+ dismissal_at: string | null
54
+ email_verified_at: string
55
+ divisions: string
56
+ email: string
57
+ face_recognition_id: string | null
58
+ first_name: string
59
+ full_name: string
60
+ last_name: string
61
+ patronymic: string
62
+ personnel_number: number
63
+ phone: string
64
+ profession: string
65
+ teams: Api_User_Team[]
66
+ photos: Api_User_Photo[]
67
+ archiveHistory: Api_User_Archive_History_Item[]
68
+ assigned_tasks?: Api_User_Task[]
69
+ responsible_tasks?: Api_User_Task[]
70
+ }
71
+
72
+ export type Api_User_Create = {
73
+ last_name?: string
74
+ first_name?: string
75
+ patronymic?: string
76
+ email?: string
77
+ phone?: string
78
+ divisions?: string
79
+ positions?: [string]
80
+ teams?: {
81
+ team_id: string
82
+ roles: string[]
83
+ }[]
84
+ current_password?: string
85
+ password?: string
86
+ password_confirmation?: string
87
+ }
88
+
89
+ export type Api_User_Permission = {
90
+ id: string
91
+ name: string
92
+ display_name: string
93
+ }
94
+
95
+ export type Api_User_Role = {
96
+ id: string
97
+ name: string
98
+ display_name: string
99
+ permissions?: Api_User_Permission[]
100
+ }
101
+
102
+ export type Api_User_Position = {
103
+ id: string
104
+ name: string
105
+ display_name: string
106
+ description?: string
107
+ }
108
+
109
+ export type Api_User_Delete_Body = {
110
+ user_id: string
111
+ archive_reason?: string
112
+ }
113
+
114
+ export type Api_User_Delete_Photos_Body = {
115
+ user_id: string
116
+ photos?: string[]
117
+ }