/**
* Admin procedure
*
* Only executes, when the user is authenticated and has the admin role.
*/
export const adminProcedure = t.procedure.use(({ ctx, next }) => {
if (!ctx.session || !ctx.session.user) {
throw new TRPCError({ code: "UNAUTHORIZED" });
}
// Split up for debugging purposes
if (ctx.session.user.role != "ADMIN") {
throw new TRPCError({
code: "UNAUTHORIZED",
message: `No Admin access. Current Role: ${ctx.session.user.role}`,
});
}
return next({
ctx: {
// infers the `session` as non-nullable
session: { ...ctx.session, user: ctx.session.user },
},
});
});
/**
* Admin procedure
*
* Only executes, when the user is authenticated and has the admin role.
*/
export const adminProcedure = t.procedure.use(({ ctx, next }) => {
if (!ctx.session || !ctx.session.user) {
throw new TRPCError({ code: "UNAUTHORIZED" });
}
// Split up for debugging purposes
if (ctx.session.user.role != "ADMIN") {
throw new TRPCError({
code: "UNAUTHORIZED",
message: `No Admin access. Current Role: ${ctx.session.user.role}`,
});
}
return next({
ctx: {
// infers the `session` as non-nullable
session: { ...ctx.session, user: ctx.session.user },
},
});
});