Files
aniplay-api/src/graphql.ts
Rushil Perera dbc78727bd
Some checks failed
Deploy / Deploy (push) Has been cancelled
refactor: cleaned up REST code
also removed any references to Anify
2025-12-06 10:01:16 -05:00

42 lines
1.1 KiB
TypeScript

import { createSchema, createYoga } from "graphql-yoga";
import { Hono } from "hono";
import { createGraphQLContext } from "./context";
import { resolvers } from "./resolvers";
import { typeDefs } from "./schema";
const schema = createSchema({
typeDefs,
resolvers,
});
const yoga = createYoga({
schema,
graphqlEndpoint: "/graphql",
landingPage: false, // Disable landing page for production
graphiql: {
title: "Aniplay GraphQL API",
},
context: ({ request }) => {
// Extract Hono context from the request
// graphql-yoga passes the raw request, but we need Hono context
// This will be provided when we integrate with Hono
return request as any;
},
});
const app = new Hono<Cloudflare.Env>();
app.all("/", async (c) => {
const graphqlContext = await createGraphQLContext(c);
// Create a custom request object that includes our GraphQL context
const request = c.req.raw.clone();
(request as any).graphqlContext = graphqlContext;
const response = await yoga.fetch(request, graphqlContext);
return response;
});
export default app;