meal_planner/server/trpc/trpc.ts
2024-12-15 01:18:09 +01:00

26 lines
691 B
TypeScript

import { initTRPC , TRPCError } from "@trpc/server";
import type { Context } from "~/server/trpc/context";
// import { authMiddleware } from "~/server/trpc/middleware";
const t = initTRPC.context<Context>().create();
/**
* Unprotected procedure
**/
export const publicProcedure = t.procedure;
export const router = t.router;
export const middleware = t.middleware;
export const mergeRouters = t.mergeRouters;
export const authMiddleware = middleware(({ next, ctx }) => {
if (!ctx.user?.isAdmin) {
throw new TRPCError({ code: "UNAUTHORIZED" });
}
return next({
ctx: {
user: ctx.user,
},
});
});
export const privateProcedure = t.procedure.use(authMiddleware);