courtmitra / apps /api /src /main.ts
Hetansh Waghela
fix: Critical auth + ownership + container bugs from audit
76b46a3
Raw
History Blame
1.3 kB
import "reflect-metadata";
import { NestFactory } from "@nestjs/core";
import { FastifyAdapter, type NestFastifyApplication } from "@nestjs/platform-fastify";
import { AppModule } from "./app.module.js";
import { serve } from "inngest/node";
import { inngest as workerInngest, functions } from "@courtmitra/worker";
async function bootstrap() {
const app = await NestFactory.create<NestFastifyApplication>(AppModule, new FastifyAdapter(), {
logger: ["error", "warn", "log"],
});
app.setGlobalPrefix("api");
app.enableCors({ origin: true });
// Mount Inngest worker handler on /api/inngest (combined container)
const inngestHandler = serve({ client: workerInngest, functions });
const fastify = app.getHttpAdapter().getInstance();
fastify.route({
method: ["GET", "POST", "PUT"],
url: "/api/inngest",
handler: async (request: any, reply: any) => {
reply.hijack();
inngestHandler(request.raw, reply.raw);
},
});
const port = Number(process.env.API_PORT ?? process.env.PORT ?? 3001);
await app.listen(port, "0.0.0.0");
console.log(`[api] listening on http://localhost:${port}/api`);
console.log(`[worker] inngest endpoint on http://localhost:${port}/api/inngest`);
}
bootstrap().catch((err) => {
console.error(err);
process.exit(1);
});