1
0
Files
jecnarozvrh/scrape/api/announcements.ts
T
jzitnik 1c6023beab
Remote Deploy / deploy (push) Successful in 1m26s
chore: Added classes to announcement type
2026-06-02 17:13:32 +02:00

43 lines
837 B
TypeScript

const API_BASE_URL = process.env.ANNOUNCEMENT_API || "http://localhost:3000";
export type Announcement = {
id: number;
text_content?: string;
author: string;
classes: string[];
flags: Flag[];
start_date: string;
end_date: string;
};
export enum Flag {
SHOW_ALL_ENTRIES
}
export type AnnouncementResponse = {
[date: string]: Announcement[];
}
export default async function getAnnouncements(dates: string[]): Promise<AnnouncementResponse> {
if (dates.length === 0) {
return {};
}
const url = new URL(`/v1/announcements/${dates.join(",")}`, API_BASE_URL).toString();
try {
const response = await fetch(url);
const data = await response.json();
if (!response.ok) {
return {};
}
return data;
} catch (e) {
console.error("Some random ahh error:", e);
return {};
}
}