feat: create script to initialize "next episode" queue

This commit is contained in:
2024-09-09 05:07:21 -05:00
parent 336701a84b
commit 25ed096b38
6 changed files with 150 additions and 9 deletions

View File

@@ -1,38 +0,0 @@
import { graphql } from "gql.tada";
import { GraphQLClient } from "graphql-request";
import type { Title } from "~/types/title";
import { MediaFragment } from "~/types/title/mediaFragment";
const GetTitleQuery = graphql(
`
query GetTitle($id: Int!) {
Media(id: $id) {
...Media
}
}
`,
[MediaFragment],
);
export async function fetchTitleFromAnilist(
id: number,
token: string | undefined,
): Promise<Title | undefined> {
const client = new GraphQLClient("https://graphql.anilist.co/");
const headers = new Headers();
if (token) {
headers.append("Authorization", `Bearer ${token}`);
}
return client
.request(GetTitleQuery, { id }, headers)
.then((data) => data?.Media ?? undefined)
.catch((error) => {
if (error.message.includes("Not Found")) {
return undefined;
}
throw error;
});
}

View File

@@ -1,5 +1,6 @@
import { OpenAPIHono, createRoute, z } from "@hono/zod-openapi";
import { fetchTitleFromAnilist } from "~/libs/anilist/getTitle";
import { fetchFromMultipleSources } from "~/libs/fetchFromMultipleSources";
import {
AniListIdQuerySchema,
@@ -9,8 +10,6 @@ import {
} from "~/types/schema";
import { Title } from "~/types/title";
import { fetchTitleFromAnilist } from "./anilist";
const app = new OpenAPIHono();
const route = createRoute({