diff options
Diffstat (limited to 'src/routes/api/animeschedule/+server.ts')
| -rw-r--r-- | src/routes/api/animeschedule/+server.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/routes/api/animeschedule/+server.ts b/src/routes/api/animeschedule/+server.ts new file mode 100644 index 00000000..c596bf41 --- /dev/null +++ b/src/routes/api/animeschedule/+server.ts @@ -0,0 +1,25 @@ +import { env } from "$env/dynamic/private"; +import { fetchTimetables } from "$lib/Media/Anime/Airing/animeSchedule"; +import { appOriginHeaders } from "$lib/Utility/appOrigin"; + +export const GET = async () => { + const token = env.ANIMESCHEDULE_CLIENT_TOKEN; + const generatedAt = Math.floor(Date.now() / 1000); + + if (!token) + return Response.json( + { generatedAt, sub: [], dub: [] }, + { headers: appOriginHeaders({ "Cache-Control": "max-age=60" }) }, + ); + + const { sub, dub } = await fetchTimetables(token); + + return Response.json( + { generatedAt, sub, dub }, + { + headers: appOriginHeaders({ + "Cache-Control": "max-age=86400, s-maxage=86400", + }), + }, + ); +}; |