guardia-hrm/frontend/src/api/client.ts

23 lines
478 B
TypeScript

import axios from 'axios'
const api = axios.create({ baseURL: '/api/hrm' })
api.interceptors.request.use(cfg => {
const token = localStorage.getItem('hrm_token')
if (token) cfg.headers.Authorization = `Bearer ${token}`
return cfg
})
api.interceptors.response.use(
r => r,
err => {
if (err.response?.status === 401) {
localStorage.removeItem('hrm_token')
window.location.href = '/login'
}
return Promise.reject(err)
}
)
export default api