Spaces:
Paused
Paused
| // Middleware qui protège les routes admin. | |
| // ADMIN_IDS dans le .env, séparés par des virgules : "123456789,987654321" | |
| function getAdminIds() { | |
| return (process.env.ADMIN_IDS || "") | |
| .split(",") | |
| .map(id => id.trim()) | |
| .filter(Boolean); | |
| } | |
| export function requireAdmin(req, res, next) { | |
| if (!req.session.user) { | |
| return res.status(401).json({ error: "Non connecté." }); | |
| } | |
| const adminIds = getAdminIds(); | |
| if (!adminIds.includes(req.session.user.id)) { | |
| return res.status(403).json({ error: "Accès refusé." }); | |
| } | |
| next(); | |
| } | |
| export function isAdmin(userId) { | |
| return getAdminIds().includes(userId); | |
| } |