"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.requireAuth = requireAuth; const jose_1 = require("jose"); const secret = () => new TextEncoder().encode(process.env.JWT_SECRET ?? 'fallback-dev-secret'); async function requireAuth(req, res, next) { const header = req.headers.authorization; if (!header?.startsWith('Bearer ')) { res.status(401).json({ error: 'Unauthorized' }); return; } try { const token = header.slice(7); const { payload } = await (0, jose_1.jwtVerify)(token, secret()); req.userId = payload.userId; req.userRole = payload.role; next(); } catch { res.status(401).json({ error: 'Invalid or expired token' }); } } //# sourceMappingURL=auth.js.map