diff --git a/src/components/admin/ControlBar.tsx b/src/components/admin/ControlBar.tsx index 46818d9..5b70a5e 100644 --- a/src/components/admin/ControlBar.tsx +++ b/src/components/admin/ControlBar.tsx @@ -1,3 +1,4 @@ +import { Role } from "@prisma/client"; import { useSession } from "next-auth/react"; const AdminBarLayout = ({ @@ -11,7 +12,7 @@ const AdminBarLayout = ({ return (
- {data?.user ? ( + {data?.user.role === Role.ADMIN ? (

Admin Mode diff --git a/src/server/auth.ts b/src/server/auth.ts index 533768c..54426d0 100644 --- a/src/server/auth.ts +++ b/src/server/auth.ts @@ -9,11 +9,13 @@ import { PrismaAdapter } from "@next-auth/prisma-adapter"; import { prisma } from "~/server/db"; import { loginSchema } from "~/lib/validation/auth"; import { verify } from "argon2"; +import { type Role } from "@prisma/client"; interface SessionUser { id: string; name: string; username: string; + role: Role; } /** @@ -100,6 +102,7 @@ export const authOptions: NextAuthOptions = { id: result.id, name: result.name, username, + role: result.role, }; } catch { return null;