diff --git a/backend/src/middleware/admin.middleware.ts b/backend/src/middleware/admin.middleware.ts index dd30439..0714383 100644 --- a/backend/src/middleware/admin.middleware.ts +++ b/backend/src/middleware/admin.middleware.ts @@ -1,7 +1,6 @@ import { Response, NextFunction } from "express"; import { AppDataSource } from "../config/data-source"; import { User } from "../entities/User"; -import { UserRole } from "../entities/UserRole"; import { AuthenticatedRequest } from "./auth.middleware"; import logger from "../utils/logger"; @@ -19,6 +18,7 @@ export const requireAdmin = async ( try { const localUser = await AppDataSource.getRepository(User).findOne({ where: { superOAuthId: req.user.id }, + relations: { userRoles: { role: true } }, }); if (!localUser) { @@ -26,12 +26,7 @@ export const requireAdmin = async ( return; } - const userRoles = await AppDataSource.getRepository(UserRole).find({ - where: { userId: localUser.id }, - relations: ["role"], - }); - - const slugs = userRoles.map((ur) => ur.role.slug); + const slugs = localUser.userRoles.map((ur) => ur.role.slug); const isAdmin = slugs.includes("admin") || slugs.includes("super_admin"); if (!isAdmin) {