import axios from "axios"; const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || ""; export const api = axios.create({ baseURL: API_BASE_URL, }); export async function detectPlate(file) { const formData = new FormData(); formData.append("file", file); const response = await api.post("/api/detect", formData, { headers: { "Content-Type": "multipart/form-data", }, }); return response.data; } export async function getVehicles() { const response = await api.get("/api/vehicles"); return response.data; } export async function addVehicle(data, photoFile) { const formData = new FormData(); formData.append("plat", data.plat); formData.append("nama_pemilik", data.nama_pemilik); formData.append("jenis_kendaraan", data.jenis_kendaraan || "-"); formData.append("keterangan", data.keterangan || "-"); if (photoFile) { formData.append("foto", photoFile); } const response = await api.post("/api/vehicles", formData, { headers: { "Content-Type": "multipart/form-data" }, }); return response.data; } export async function updateVehicle(plat, data) { const response = await api.put(`/api/vehicles/${plat}`, data); return response.data; } export async function deleteVehicle(plat) { const response = await api.delete(`/api/vehicles/${plat}`); return response.data; } export async function getHistory() { const response = await api.get("/api/history"); return response.data; } export async function deleteHistoryRecord(index) { const response = await api.delete(`/api/history/${index}`); return response.data; } export async function clearAllHistory() { const response = await api.delete("/api/history"); return response.data; } export function getMediaUrl(path) { if (!path) return ""; if (path.startsWith("http")) return path; return `${API_BASE_URL}${path}`; }