shared-ritm 1.1.27 → 1.1.29

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shared-ritm",
3
- "version": "1.1.27",
3
+ "version": "1.1.29",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist",
@@ -3,7 +3,7 @@ import { Api_Files_Responsible_Dto } from '@/api/types/Api_Files'
3
3
 
4
4
  class FileService extends ApiService {
5
5
  public async uploadFile(data: FormData): Promise<ResponseApi<Api_Files_Responsible_Dto>> {
6
- return await this.post(`/upload-file`, data)
6
+ return await this.post<FormData, any>(`/upload-file`, data, { headers: { 'Content-Type': 'multipart/form-data' } })
7
7
  }
8
8
  }
9
9
 
@@ -1,82 +1,94 @@
1
- import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
- import {
3
- Api_Create_Repair_With_Equipments,
4
- Api_Equipment_Full_Dto,
5
- Api_Repair_Dto,
6
- Api_Update_Repair,
7
- OptionFilters,
8
- } from '@/api/types/Api_Repairs'
9
-
10
- class RepairsService extends ApiService {
11
- public fetchFilters(fullParams: string): Promise<OptionFilters> {
12
- return this.get(`get_list_repair?smart=1&${fullParams}`)
13
- }
14
- public fetchRepairs(
15
- isQuery: boolean,
16
- queries?: string,
17
- hasTeams?: boolean | string,
18
- teamsFilter?: string,
19
- typeFilter?: string,
20
- ): Promise<ResponseApi<Api_Repair_Dto[]>> {
21
- return this.get(
22
- 'get_list_repair' +
23
- (isQuery
24
- ? `${queries}&per_page=100000${typeFilter ? '&' + typeFilter : ''}&${!hasTeams ? teamsFilter : ''}`
25
- : `?per_page=100000${typeFilter ? '&' + typeFilter : ''}&${teamsFilter}`),
26
- )
27
- }
28
- public fetchEquipment(): Promise<ResponseApi<Api_Equipment_Full_Dto[]>> {
29
- return this.get('repairs/equipment/list?per_page=100000')
30
- }
31
- public createRepair(payload: Api_Create_Repair_With_Equipments) {
32
- return this.post<Api_Create_Repair_With_Equipments, any>('/repairs/equipments', payload)
33
- }
34
- public startRepair(id: string): Promise<void> {
35
- return this.post<null, void>(`/repairs/${id}/start`, null)
36
- }
37
- public finishRepair(id: string) {
38
- return this.post<null, void>(`/repairs/${id}/finish`, null)
39
- }
40
- public finishPreparationProject(id: string) {
41
- return this.post<null, void>(`/repairs/${id}/finish_preparation`, null)
42
- }
43
-
44
- public moveRepairToCurrent(id: string) {
45
- return this.post<any, void>(`/repairs/transfer_repair_plan_to_current`, {
46
- repairs: [id],
47
- })
48
- }
49
- public moveArchiveToCurrent(id: string) {
50
- return this.post<any, void>(`/repairs/transfer_repair_archive_to_current`, {
51
- repairs_ids: [id],
52
- })
53
- }
54
- public moveRepairToApr(id: string) {
55
- return this.post<any, void>(`/repairs/transfer_repair_current_to_plan`, {
56
- repairs: [id],
57
- })
58
- }
59
- public moveRepairToArchive(id: string) {
60
- return this.post<any, void>(`/repairs/transfer_repair_current_to_archive`, {
61
- repairs_ids: [id],
62
- })
63
- }
64
- public restoreRepair(id: string) {
65
- return this.post<any, void>(`/restore_repair`, {
66
- repairs_ids: [id],
67
- })
68
- }
69
- public updateRepair(payload: Api_Update_Repair, id: string) {
70
- return this.put<Api_Update_Repair, void>(`/repairs/${id}`, payload)
71
- }
72
- public deleteRepair(id: string) {
73
- return this.delete<any>(`/repairs/${id}`)
74
- }
75
- }
76
-
77
- let api: RepairsService
78
-
79
- export default function useRepairsService() {
80
- if (!api) api = new RepairsService()
81
- return api
82
- }
1
+ import ApiService, { ResponseApi } from '@/api/settings/ApiService'
2
+ import {
3
+ Api_Create_Repair_With_Equipments,
4
+ Api_Equipment_Full_Dto,
5
+ Api_Repair_Dto,
6
+ Api_Update_Repair,
7
+ OptionFilters,
8
+ } from '@/api/types/Api_Repairs'
9
+
10
+ class RepairsService extends ApiService {
11
+ public fetchFilters(fullParams: string): Promise<OptionFilters> {
12
+ return this.get(`get_list_repair?smart=1&${fullParams}`)
13
+ }
14
+
15
+ public fetchRepairs(
16
+ isQuery: boolean,
17
+ queries?: string,
18
+ hasTeams?: boolean | string,
19
+ teamsFilter?: string,
20
+ typeFilter?: string,
21
+ ): Promise<ResponseApi<Api_Repair_Dto[]>> {
22
+ return this.get(
23
+ 'get_list_repair' +
24
+ (isQuery
25
+ ? `${queries}&per_page=100000${typeFilter ? '&' + typeFilter : ''}&${!hasTeams ? teamsFilter : ''}`
26
+ : `?per_page=100000${typeFilter ? '&' + typeFilter : ''}&${teamsFilter}`),
27
+ )
28
+ }
29
+
30
+ public fetchEquipment(): Promise<ResponseApi<Api_Equipment_Full_Dto[]>> {
31
+ return this.get('repairs/equipment/list?per_page=100000')
32
+ }
33
+
34
+ public createRepair(payload: Api_Create_Repair_With_Equipments) {
35
+ return this.post<Api_Create_Repair_With_Equipments, any>('/repairs/equipments', payload)
36
+ }
37
+
38
+ public startRepair(id: string): Promise<void> {
39
+ return this.post<null, void>(`/repairs/${id}/start`, null)
40
+ }
41
+
42
+ public finishRepair(id: string) {
43
+ return this.post<null, void>(`/repairs/${id}/finish`, null)
44
+ }
45
+
46
+ public finishPreparationProject(id: string) {
47
+ return this.post<null, void>(`/repairs/${id}/finish_preparation`, null)
48
+ }
49
+
50
+ public moveRepairToCurrent(id: string) {
51
+ return this.post<any, void>(`/repairs/transfer_repair_plan_to_current`, {
52
+ repairs: [id],
53
+ })
54
+ }
55
+
56
+ public moveArchiveToCurrent(id: string) {
57
+ return this.post<any, void>(`/repairs/transfer_repair_archive_to_current`, {
58
+ repairs_ids: [id],
59
+ })
60
+ }
61
+
62
+ public moveRepairToApr(id: string) {
63
+ return this.post<any, void>(`/repairs/transfer_repair_current_to_plan`, {
64
+ repairs: [id],
65
+ })
66
+ }
67
+
68
+ public moveRepairToArchive(id: string) {
69
+ return this.post<any, void>(`/repairs/transfer_repair_current_to_archive`, {
70
+ repairs_ids: [id],
71
+ })
72
+ }
73
+
74
+ public restoreRepair(id: string) {
75
+ return this.post<any, void>(`/restore_repair`, {
76
+ repairs_ids: [id],
77
+ })
78
+ }
79
+
80
+ public updateRepair(payload: Api_Update_Repair, id: string) {
81
+ return this.put<Api_Update_Repair, void>(`/repairs/${id}`, payload)
82
+ }
83
+
84
+ public deleteRepair(id: string) {
85
+ return this.delete<any>(`/repairs/${id}`)
86
+ }
87
+ }
88
+
89
+ let api: RepairsService
90
+
91
+ export default function useRepairsService() {
92
+ if (!api) api = new RepairsService()
93
+ return api
94
+ }
@@ -1,124 +1,125 @@
1
- import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
2
-
3
- export enum ApiServiceType {
4
- SERVICE_AUTH = 'SERVICE_AUTH',
5
- }
6
-
7
- export type ResponseApi<T> = {
8
- count: number
9
- current_page: number
10
- data: T
11
- per_page: number
12
- total: number
13
- total_pages: number
14
- }
15
-
16
- export default class ApiService {
17
- private axiosInstance: AxiosInstance
18
-
19
- constructor() {
20
- this.axiosInstance = axios.create({
21
- baseURL: process.env.VUE_APP_BACKEND,
22
- headers: {
23
- 'Content-Type': 'application/json',
24
- },
25
- })
26
-
27
- this.axiosInstance.interceptors.request.use(
28
- (config: InternalAxiosRequestConfig) => {
29
- const token = this.getToken()
30
- if (token && config.headers) {
31
- config.headers.Authorization = `Bearer ${token}`
32
- }
33
- return config
34
- },
35
- (error: AxiosError) => {
36
- return Promise.reject(error)
37
- },
38
- )
39
-
40
- this.axiosInstance.interceptors.response.use(
41
- (response: AxiosResponse) => {
42
- return response.data
43
- },
44
- (error: AxiosError) => {
45
- if (error.response?.status === 401 || error.response?.status === 403) {
46
- this.logout()
47
- }
48
- return Promise.reject(error)
49
- },
50
- )
51
- }
52
- private getToken() {
53
- return localStorage.getItem('token')
54
- }
55
-
56
- private removeToken() {
57
- localStorage.removeItem('token')
58
- }
59
-
60
- public logout(): void {
61
- this.removeToken()
62
- window.location.href = '/sign-in'
63
- }
64
-
65
- private handleError(error: AxiosError): void {
66
- if (error.response) {
67
- console.error('API Error:', error.response.status, error.response.data)
68
- } else if (error.request) {
69
- console.error('No response received:', error.request)
70
- } else {
71
- console.error('Error during request setup:', error.message)
72
- }
73
- }
74
-
75
- protected async get<T>(url: string, options?: AxiosRequestConfig) {
76
- try {
77
- const response: AxiosResponse<T> = await this.axiosInstance.get<T>(url, options)
78
- return response?.data ?? (response as unknown as T)
79
- } catch (error) {
80
- const axiosError = error as AxiosError
81
- this.handleError(axiosError)
82
- throw error
83
- }
84
- }
85
-
86
- protected async delete<T>(url: string, options?: AxiosRequestConfig) {
87
- try {
88
- return await this.axiosInstance.delete<T>(url, options)
89
- } catch (error) {
90
- const axiosError = error as AxiosError
91
- this.handleError(axiosError)
92
- throw error
93
- }
94
- }
95
-
96
- protected async post<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
97
- try {
98
- const response: AxiosResponse<T2> = await this.axiosInstance.post<T1, AxiosResponse<T2>>(url, payload, options)
99
- return response.data
100
- } catch (error) {
101
- const axiosError = error as AxiosError
102
- this.handleError(axiosError)
103
- throw error
104
- }
105
- }
106
-
107
- // protected patch<T1, T2>(url: string, payload: T1, type: ApiServiceType, options?: AxiosRequestConfig): Promise<T2> {
108
- // return axios
109
- // .patch<T1, AxiosResponse<T2>>(apiServiceUrls[type] + url, payload, options)
110
- // .catch((err: AxiosError) => processError401<T2>(err))
111
- // .then(extractData)
112
- // }
113
- //
114
- protected async put<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
115
- try {
116
- const response: AxiosResponse<T2> = await this.axiosInstance.put<T1, AxiosResponse<T2>>(url, payload, options)
117
- return response.data
118
- } catch (error) {
119
- const axiosError = error as AxiosError
120
- this.handleError(axiosError)
121
- throw error
122
- }
123
- }
124
- }
1
+ import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'
2
+
3
+ export enum ApiServiceType {
4
+ SERVICE_AUTH = 'SERVICE_AUTH',
5
+ }
6
+
7
+ export type ResponseApi<T> = {
8
+ count: number
9
+ current_page: number
10
+ data: T
11
+ per_page: number
12
+ total: number
13
+ total_pages: number
14
+ }
15
+
16
+ export default class ApiService {
17
+ private axiosInstance: AxiosInstance
18
+
19
+ constructor() {
20
+ this.axiosInstance = axios.create({
21
+ baseURL: process.env.VUE_APP_BACKEND,
22
+ headers: {
23
+ 'Content-Type': 'application/json',
24
+ },
25
+ })
26
+
27
+ this.axiosInstance.interceptors.request.use(
28
+ (config: InternalAxiosRequestConfig) => {
29
+ const token = this.getToken()
30
+ if (token && config.headers) {
31
+ config.headers.Authorization = `Bearer ${token}`
32
+ }
33
+ return config
34
+ },
35
+ (error: AxiosError) => {
36
+ return Promise.reject(error)
37
+ },
38
+ )
39
+
40
+ this.axiosInstance.interceptors.response.use(
41
+ (response: AxiosResponse) => {
42
+ return response.data
43
+ },
44
+ (error: AxiosError) => {
45
+ if (error.response?.status === 401 || error.response?.status === 403) {
46
+ this.logout()
47
+ }
48
+ return Promise.reject(error)
49
+ },
50
+ )
51
+ }
52
+
53
+ private getToken() {
54
+ return localStorage.getItem('token')
55
+ }
56
+
57
+ private removeToken() {
58
+ localStorage.removeItem('token')
59
+ }
60
+
61
+ public logout(): void {
62
+ this.removeToken()
63
+ window.location.href = '/sign-in'
64
+ }
65
+
66
+ private handleError(error: AxiosError): void {
67
+ if (error.response) {
68
+ console.error('API Error:', error.response.status, error.response.data)
69
+ } else if (error.request) {
70
+ console.error('No response received:', error.request)
71
+ } else {
72
+ console.error('Error during request setup:', error.message)
73
+ }
74
+ }
75
+
76
+ protected async get<T>(url: string, options?: AxiosRequestConfig) {
77
+ try {
78
+ const response: AxiosResponse<T> = await this.axiosInstance.get<T>(url, options)
79
+ return response?.data ?? (response as unknown as T)
80
+ } catch (error) {
81
+ const axiosError = error as AxiosError
82
+ this.handleError(axiosError)
83
+ throw error
84
+ }
85
+ }
86
+
87
+ protected async delete<T>(url: string, options?: AxiosRequestConfig) {
88
+ try {
89
+ return await this.axiosInstance.delete<T>(url, options)
90
+ } catch (error) {
91
+ const axiosError = error as AxiosError
92
+ this.handleError(axiosError)
93
+ throw error
94
+ }
95
+ }
96
+
97
+ protected async post<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
98
+ try {
99
+ const response: AxiosResponse<T2> = await this.axiosInstance.post<T1, AxiosResponse<T2>>(url, payload, options)
100
+ return response.data
101
+ } catch (error) {
102
+ const axiosError = error as AxiosError
103
+ this.handleError(axiosError)
104
+ throw error
105
+ }
106
+ }
107
+
108
+ // protected patch<T1, T2>(url: string, payload: T1, type: ApiServiceType, options?: AxiosRequestConfig): Promise<T2> {
109
+ // return axios
110
+ // .patch<T1, AxiosResponse<T2>>(apiServiceUrls[type] + url, payload, options)
111
+ // .catch((err: AxiosError) => processError401<T2>(err))
112
+ // .then(extractData)
113
+ // }
114
+ //
115
+ protected async put<T1, T2>(url: string, payload: T1, options?: AxiosRequestConfig) {
116
+ try {
117
+ const response: AxiosResponse<T2> = await this.axiosInstance.put<T1, AxiosResponse<T2>>(url, payload, options)
118
+ return response.data
119
+ } catch (error) {
120
+ const axiosError = error as AxiosError
121
+ this.handleError(axiosError)
122
+ throw error
123
+ }
124
+ }
125
+ }