aboutsummaryrefslogtreecommitdiff
path: root/src/graphql/anime/resolvers.ts
blob: 8d87eb6ccb4e922fa1641d0c3b8d70916a5e9572 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { env } from "$env/dynamic/private";
import { fetchTimetables } from "$lib/Media/Anime/Airing/animeSchedule";
import type { Resolvers as RootResolvers, WithIndex } from "../$types";

type AnimeResolvers = Pick<
	RootResolvers,
	"Query" | "Anime" | "Airing" | "AiringRelease" | "Stream"
>;

export const resolvers: WithIndex<AnimeResolvers> = {
	Query: {
		Anime: async () => {
			const token = env.ANIMESCHEDULE_CLIENT_TOKEN;
			const generatedAt = Math.floor(Date.now() / 1000);

			if (!token) return { airing: { generatedAt, sub: [], dub: [] } };

			const { sub, dub } = await fetchTimetables(token);

			return { airing: { generatedAt, sub, dub } };
		},
	},
};