2025-10-12 00:40:02 +07:00

42 lines
1.2 KiB
JavaScript

import axios from "axios";
const API_BASE_URL = "http://localhost:5000/api";
const api = axios.create({
baseURL: API_BASE_URL,
});
// Add token to requests
api.interceptors.request.use((config) => {
const token = localStorage.getItem("token");
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
});
export const authAPI = {
login: (credentials) => api.post("/auth/login", credentials),
getMe: () => api.get("/auth/me"),
};
export const usersAPI = {
getUsers: () => api.get("/users"),
createUser: (user) => api.post("/users", user),
updatePassword: (id, password) =>
api.put(`/users/${id}/password`, { password }),
deleteUser: (id) => api.delete(`/users/${id}`),
};
export const timeEntriesAPI = {
getEntries: () => api.get("/time-entries"),
getAllEntries: () => api.get("/time-entries/all"),
getUserEntries: (userId) => api.get(`/time-entries/user/${userId}`),
createEntry: (entry) => api.post("/time-entries", entry),
updateEntry: (id, entry) => api.put(`/time-entries/${id}`, entry),
deleteEntry: (id) => api.delete(`/time-entries/${id}`),
deleteAllEntries: () => api.delete("/time-entries/delete-all"),
};
export default api;