| 12345678910111213141516171819202122232425262728 |
- import type { CreateExpressContextOptions } from "@trpc/server/adapters/express";
- import type { User } from "../../drizzle/schema";
- import { sdk } from "./sdk";
- export type TrpcContext = {
- req: CreateExpressContextOptions["req"];
- res: CreateExpressContextOptions["res"];
- user: User | null;
- };
- export async function createContext(
- opts: CreateExpressContextOptions
- ): Promise<TrpcContext> {
- let user: User | null = null;
- try {
- user = await sdk.authenticateRequest(opts.req);
- } catch (error) {
- // Authentication is optional for public procedures.
- user = null;
- }
- return {
- req: opts.req,
- res: opts.res,
- user,
- };
- }
|