sendou.ink/utils/trpc-server.ts
2021-11-14 13:32:40 +02:00

28 lines
572 B
TypeScript

import * as trpc from "@trpc/server";
import * as trpcExpress from "@trpc/server/adapters/express/dist/trpc-server-adapters-express.cjs";
export const createContext = ({
req,
res,
}: trpcExpress.CreateExpressContextOptions) => {
const getUser = () => {
if (req.headers.authorization !== "secret") {
return null;
}
return {
name: "alex",
};
};
return {
req,
res,
user: getUser(),
};
};
type Context = trpc.inferAsyncReturnType<typeof createContext>;
export function createRouter() {
return trpc.router<Context>();
}