lifedebugger's picture
Deploy files from GitHub repository with LFS
e249c2c
Raw
History Blame Contribute Delete
1.4 kB
import axios from "axios";
const BASE = process.env.REACT_APP_BACKEND_URL;
export const API = axios.create({
baseURL: `${BASE}/api`,
timeout: 30000,
});
export async function fetchChallenge() {
const r = await API.post("/attendance/challenge");
return r.data;
}
export async function verifyFace(payload) {
const r = await API.post("/face/verify", payload);
return r.data;
}
export async function recordAttendance(payload) {
const r = await API.post("/attendance", payload);
return r.data;
}
export async function registerEmployee(payload) {
const r = await API.post("/employees", payload);
return r.data;
}
export async function listEmployees() {
const r = await API.get("/employees");
return r.data;
}
export async function deleteEmployee(id) {
const r = await API.delete(`/employees/${id}`);
return r.data;
}
export async function listAttendance(params = {}) {
const r = await API.get("/attendance", { params });
return r.data;
}
export async function attendanceStats(date) {
const r = await API.get("/attendance/stats/summary", { params: date ? { date } : {} });
return r.data;
}
export function exportCsvUrl(params = {}) {
const search = new URLSearchParams(params).toString();
return `${BASE}/api/attendance/export/csv${search ? "?" + search : ""}`;
}
export async function health() {
const r = await API.get("/health");
return r.data;
}