Files
SAE-BUT2-frontend/src/utils/events/uploadEventPhoto.ts
T
2026-04-01 23:31:12 +02:00

41 lines
1.0 KiB
TypeScript

import getXSRFToken from "../getXSRF";
export default async function uploadEventPhoto(
eventId: number,
file: File
): Promise<{ status: number; ok: boolean; data?: any; error?: string }> {
const formData = new FormData();
formData.append("photo", file);
try {
const csrfToken = await getXSRFToken();
const response = await fetch(
`${import.meta.env.VITE_API_URL}/api/events/${eventId}/photo/update`,
{
method: "POST",
headers: {
"X-XSRF-TOKEN": decodeURIComponent(csrfToken),
},
credentials: "include",
body: formData,
}
);
const status = response.status;
let data = null;
try {
data = await response.json();
} catch (e) {}
return { status, ok: response.ok, data };
} catch (err: any) {
return {
status: 0,
ok: false,
error: err?.message || "Network error"
};
}
}