init: me-web 个人简历前端

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Superuser
2026-05-18 20:10:54 +08:00
commit ff98547dbb
116 changed files with 9460 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
import type { FetchCreateContextFnOptions } from "@trpc/server/adapters/fetch";
import type { User } from "@db/schema";
import * as cookie from "cookie";
import { Session } from "@contracts/constants";
import { verifySessionToken } from "./lib/session";
import { findUserById } from "./queries/users";
export type TrpcContext = {
req: Request;
resHeaders: Headers;
user?: User;
};
export async function createContext(
opts: FetchCreateContextFnOptions,
): Promise<TrpcContext> {
const ctx: TrpcContext = { req: opts.req, resHeaders: opts.resHeaders };
try {
const cookies = cookie.parse(opts.req.headers.get("cookie") || "");
const token = cookies[Session.cookieName];
if (token) {
const claim = await verifySessionToken(token);
if (claim) {
ctx.user = await findUserById(claim.userId);
}
}
} catch {
// Authentication is optional
}
return ctx;
}