aboutsummaryrefslogtreecommitdiff
path: root/src/graphql/anime/resolvers.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/graphql/anime/resolvers.ts')
-rw-r--r--src/graphql/anime/resolvers.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/graphql/anime/resolvers.ts b/src/graphql/anime/resolvers.ts
new file mode 100644
index 00000000..7d04082d
--- /dev/null
+++ b/src/graphql/anime/resolvers.ts
@@ -0,0 +1,22 @@
+import type { WithIndex } from '../$types';
+import type { Resolvers } from './$types';
+
+export const resolvers: WithIndex<Resolvers> = {
+ Query: {
+ Anime: async (_, args) => {
+ const timezone = args.timezone || 'Asia/Tokyo';
+
+ return {
+ subtitles: {
+ timezone,
+ schedule: Object.fromEntries(
+ Object.entries(
+ (await (await fetch(`https://subsplease.org/api/?f=schedule&tz=${timezone}`)).json())
+ .schedule
+ ).map(([key, value]) => [key.toLowerCase(), value])
+ )
+ }
+ };
+ }
+ }
+};