Next.js App Directory
Example of self-hosting c15t and Next.js app directory.
Info
To view the full example, see the Next.js example repository.
import { c15tInstance } from "@c15t/backend/v2";
import { kyselyAdapter } from "@c15t/backend/v2/db/adapters/kysely";
import { Kysely, PostgresDialect } from "kysely";
import type { NextRequest } from "next/server";
import { Pool } from "pg";
const handler = c15tInstance({
appName: "c15t-self-host",
basePath: "/api/c15t",
adapter: kyselyAdapter({
db: new Kysely({
dialect: new PostgresDialect({
pool: new Pool({
connectionString: process.env.DATABASE_URL
})
})
}),
provider: "postgresql"
}),
trustedOrigins: ["localhost", "vercel.app"],
advanced: {
disableGeoLocation: true,
openapi: {
enabled: true
}
},
logger: {
level: "error"
}
});
const handleRequest = async (request: NextRequest) => handler.handler(request);
export {
handleRequest as GET,
handleRequest as POST,
handleRequest as OPTIONS
};