add admin role to user, return result in /me route

This commit is contained in:
Pinapelz
2025-09-03 21:16:16 -07:00
parent d0d4f579f5
commit c8bae6ab79
3 changed files with 12 additions and 3 deletions
+1
View File
@@ -15,6 +15,7 @@ model User {
email String @unique
sessions Session[]
scores Score[]
isAdmin Boolean
}
model Session {
+1
View File
@@ -34,6 +34,7 @@ export const handleRegistration = async (req: express.Request, res: express.Resp
password: hashedPassword,
salt,
email,
isAdmin: false
}
});
+10 -3
View File
@@ -4,8 +4,15 @@ import { prisma } from '../config/db';
export const handleMeRoute = async (req: express.Request, res: express.Response) => {
try {
const user = (req as any).user;
res.json(user);
if (!req.session.userId) {
return res.status(403).json({ error: 'Not Authenticated' });
}
const user = await prisma.user.findUniqueOrThrow({
where: { id: req.session.userId },
select: { id: true, username: true, isAdmin: true }
});
const isAdmin = user.id === 1 || user.isAdmin;
res.json({user, isAdmin});
} catch (error) {
console.error('Me endpoint error:', error);
res.status(500).json({ error: 'Internal server error' });
@@ -20,7 +27,7 @@ export const handleGetCurrentSession = async (req: express.Request, res: expres
const user = await prisma.user.findUnique({
where: { id: req.session.userId },
select: { id: true, username: true, email: true }
select: { id: true, username: true, isAdmin: true }
});
if (!user) {