shared-ritm 1.2.94 → 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,17 +1,36 @@
1
- import ApiService from '../settings/ApiService'
2
-
3
- class VideoService extends ApiService {
4
- public async startVideoAnalytics(): Promise<boolean> {
5
- return await this.post('/statanly/start', null)
6
- }
7
- public reloadVideoAnalytics(ids: string[]): Promise<any> {
8
- return this.post('/horizon/video-source/reload', { video_source_ids: ids })
9
- }
10
- }
11
-
12
- let api: VideoService
13
-
14
- export default function useVideoService() {
15
- if (!api) api = new VideoService()
16
- return api
17
- }
1
+ import ApiService from '../settings/ApiService'
2
+ import { ResponseApi } from '@/api/types/Api_Service'
3
+ import { Api_Work_Zone, Api_Work_Zone_Search } from '@/api/types/Api_Video'
4
+
5
+ class VideoService extends ApiService {
6
+ public async startVideoAnalytics(): Promise<boolean> {
7
+ return await this.post('/statanly/start', null)
8
+ }
9
+
10
+ public reloadVideoAnalytics(ids: string[]): Promise<any> {
11
+ return this.post('/horizon/video-source/reload', { video_source_ids: ids })
12
+ }
13
+
14
+ public async fetchWorkZones(params?: any): Promise<ResponseApi<Api_Work_Zone_Search[]>> {
15
+ return await this.get('/search/work_zones', { params })
16
+ }
17
+
18
+ public async fetchWorkZone(id: string): Promise<ResponseApi<Api_Work_Zone>> {
19
+ return await this.get(`/work_zone/get_work_zone/${id}`)
20
+ }
21
+
22
+ public async editWorkZone(id: string, body: { title: string }): Promise<{ data: Api_Work_Zone; status: number }> {
23
+ return await this.put(`/admin/work-zones/${id}`, body)
24
+ }
25
+
26
+ public async deleteWorkZone(id: string): Promise<{ data: boolean; status: number }> {
27
+ return await this.delete(`/admin/work-zones/${id}`)
28
+ }
29
+ }
30
+
31
+ let api: VideoService
32
+
33
+ export default function useVideoService() {
34
+ if (!api) api = new VideoService()
35
+ return api
36
+ }
@@ -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