perf: init auth client

This commit is contained in:
Henry
2025-05-08 12:25:56 +01:00
parent 9bee003d2b
commit 59d93a5a99
3 changed files with 90 additions and 96 deletions

View File

@@ -7,7 +7,7 @@ import superjson from "superjson";
import { ZodError } from "zod";
import type { dbClient } from "@kan/db/client";
// import { auth } from "@kan/auth";
import { initAuth } from "@kan/auth";
import { createDrizzleClient } from "@kan/db/client";
export interface User {
@@ -26,16 +26,6 @@ interface CreateContextOptions {
db: dbClient;
}
// dummy user for testing edge speed
const user = {
id: "2b97d1f4-82db-415c-8be8-b6b1c1c13cbf",
name: "John Doe",
email: "john.doe@example.com",
emailVerified: true,
createdAt: new Date(),
updatedAt: new Date(),
};
export const createInnerTRPCContext = (opts: CreateContextOptions) => {
return {
user: opts.user,
@@ -46,23 +36,25 @@ export const createInnerTRPCContext = (opts: CreateContextOptions) => {
export const createTRPCContext = async ({
req,
}: FetchCreateContextFnOptions) => {
// const session = await auth.api.getSession({
// headers: req.headers,
// });
const db = createDrizzleClient();
const auth = initAuth(db);
return createInnerTRPCContext({ db, user });
const session = await auth.api.getSession({
headers: req.headers,
});
return createInnerTRPCContext({ db, user: session?.user });
};
export const createNextApiContext = async (req: NextRequest) => {
// const session = await auth.api.getSession({
// headers: req.headers,
// });
const db = createDrizzleClient();
const auth = initAuth(db);
return createInnerTRPCContext({ db, user: user });
const session = await auth.api.getSession({
headers: req.headers,
});
return createInnerTRPCContext({ db, user: session?.user });
};
export const createRESTContext = async ({ req }: CreateNextContextOptions) => {
@@ -72,17 +64,18 @@ export const createRESTContext = async ({ req }: CreateNextContextOptions) => {
: null;
const db = createDrizzleClient();
const auth = initAuth(db);
if (!accessToken) {
return createInnerTRPCContext({ db, user: null });
}
// const session = await auth.api.getSession({
// // @ts-expect-error
// headers: new Headers(req.headers),
// });
const session = await auth.api.getSession({
// @ts-expect-error
headers: new Headers(req.headers),
});
return createInnerTRPCContext({ db, user });
return createInnerTRPCContext({ db, user: session?.user });
};
const t = initTRPC