use environment variables from cloudflare's environment
This commit is contained in:
+23
-1
@@ -1,7 +1,14 @@
|
||||
import { appRouter } from "../trpc/router";
|
||||
// TODO: stop using universal-middleware and directly integrate server middlewares instead and/or use vike-server https://vike.dev/server. (Bati generates boilerplates that use universal-middleware https://github.com/magne4000/universal-middleware to make Bati's internal logic easier. This is temporary and will be removed soon.)
|
||||
import type { Get, UniversalHandler } from "@universal-middleware/core";
|
||||
import {
|
||||
type Get,
|
||||
type UniversalHandler,
|
||||
env as getEnv,
|
||||
} from "@universal-middleware/core";
|
||||
import { fetchRequestHandler } from "@trpc/server/adapters/fetch";
|
||||
import { getDb, getDbClient } from "../database/postgres";
|
||||
import { getOpenrouter } from "../pages/chat/provider";
|
||||
import { env as processEnv } from "./env.js";
|
||||
|
||||
export const trpcHandler = ((endpoint) => (request, context, runtime) => {
|
||||
return fetchRequestHandler({
|
||||
@@ -9,11 +16,26 @@ export const trpcHandler = ((endpoint) => (request, context, runtime) => {
|
||||
req: request,
|
||||
router: appRouter,
|
||||
createContext({ req, resHeaders }) {
|
||||
const env = getEnv(runtime);
|
||||
const dbClient = getDbClient(
|
||||
(env.POSTGRES_CONNECTION_STRING ||
|
||||
processEnv.POSTGRES_CONNECTION_STRING) as string
|
||||
);
|
||||
const db = getDb(
|
||||
(env.POSTGRES_CONNECTION_STRING ||
|
||||
processEnv.POSTGRES_CONNECTION_STRING) as string
|
||||
);
|
||||
const openrouter = getOpenrouter(
|
||||
(env.OPENROUTER_API_KEY || processEnv.OPENROUTER_API_KEY) as string
|
||||
);
|
||||
return {
|
||||
...context,
|
||||
...runtime,
|
||||
req,
|
||||
resHeaders,
|
||||
dbClient,
|
||||
db,
|
||||
openrouter,
|
||||
};
|
||||
},
|
||||
allowMethodOverride: true,
|
||||
|
||||
Reference in New Issue
Block a user