refactor!: migrate from REST API to GraphQL

- Replace OpenAPI/REST endpoints with a single  route.
- Remove  and Swagger UI configuration.
- Disable OpenAPI schema extensions in Zod types.
- Refactor  to be request-agnostic.
- Update episode URL fetching to return standardized success/failure objects.
- Update project dependencies.
This commit is contained in:
2025-12-01 02:55:20 -05:00
parent ad26cd6da3
commit 495506935e
28 changed files with 1480 additions and 101 deletions

View File

@@ -0,0 +1,31 @@
import { GraphQLError } from "graphql";
import { fetchPopularTitlesFromAnilist } from "~/controllers/popular/browse/anilist";
import type { GraphQLContext } from "../../context";
interface PopularBrowseArgs {
limit?: number;
}
export async function popularBrowse(
_parent: unknown,
args: PopularBrowseArgs,
_context: GraphQLContext,
) {
const { limit = 10 } = args;
const response = await fetchPopularTitlesFromAnilist(limit);
if (!response) {
throw new GraphQLError("Failed to fetch popular titles", {
extensions: { code: "INTERNAL_SERVER_ERROR" },
});
}
return {
trending: response.trending || [],
popular: response.popular || [],
upcoming: response.upcoming || [],
};
}