From b00d2b360d8000edcd9bfa82673ca322a9ac6d1a Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Mon, 12 Feb 2024 22:50:43 +0000 Subject: hack: Hack API key support in the context creation of TRPC --- packages/web/server/api/client.ts | 2 +- packages/web/server/api/trpc.ts | 6 +++--- packages/web/server/auth.ts | 4 +--- 3 files changed, 5 insertions(+), 7 deletions(-) (limited to 'packages/web/server') diff --git a/packages/web/server/api/client.ts b/packages/web/server/api/client.ts index 7008e10d..7b4e6378 100644 --- a/packages/web/server/api/client.ts +++ b/packages/web/server/api/client.ts @@ -5,7 +5,7 @@ import { Context, createCallerFactory } from "./trpc"; export const createContext = async (): Promise => { const session = await getServerAuthSession(); return { - session, + user: session?.user ?? null, }; }; diff --git a/packages/web/server/api/trpc.ts b/packages/web/server/api/trpc.ts index 82aa2d18..1f4eb775 100644 --- a/packages/web/server/api/trpc.ts +++ b/packages/web/server/api/trpc.ts @@ -1,8 +1,8 @@ import { TRPCError, initTRPC } from "@trpc/server"; -import { Session } from "next-auth"; +import { User } from "next-auth"; export type Context = { - session: Session | null; + user: User | null; }; // Avoid exporting the entire t-object @@ -17,7 +17,7 @@ export const procedure = t.procedure; export const publicProcedure = t.procedure; export const authedProcedure = t.procedure.use(function isAuthed(opts) { - const user = opts.ctx.session?.user; + const user = opts.ctx.user; if (!user) { throw new TRPCError({ code: "UNAUTHORIZED" }); diff --git a/packages/web/server/auth.ts b/packages/web/server/auth.ts index f78fa8cf..6c00b4b5 100644 --- a/packages/web/server/auth.ts +++ b/packages/web/server/auth.ts @@ -108,7 +108,5 @@ export async function authenticateApiKey(key: string) { throw new Error("Invalid API Key"); } - return { - user: apiKey.user, - }; + return apiKey.user; } -- cgit v1.2.3-70-g09d2