add features

This commit is contained in:
Matthias Hochmeister
2026-02-27 20:33:43 +01:00
parent e2713e25ba
commit 46d3f5b351
9 changed files with 33 additions and 52 deletions

View File

@@ -100,7 +100,7 @@ router.get(
res.status(400).json({
success: false,
message: 'Invalid query parameters',
errors: error.errors,
errors: error.issues,
});
return;
}
@@ -152,7 +152,7 @@ router.get(
res.status(400).json({
success: false,
message: 'Invalid query parameters',
errors: error.errors,
errors: error.issues,
});
return;
}

View File

@@ -28,21 +28,6 @@ const router = Router();
type AppRole = 'admin' | 'kommandant' | 'mitglied';
// Extend the Express Request type to include role
declare global {
namespace Express {
interface Request {
user?: {
id: string;
email: string;
authentikSub: string;
role?: AppRole;
groups?: string[];
};
}
}
}
/**
* Resolves the AppRole from Authentik groups attached to the JWT.
* Mutates req.user.role so downstream controllers can read it directly.
@@ -53,9 +38,9 @@ const resolveRole = (req: Request, _res: Response, next: NextFunction): void =>
if (groups.includes('feuerwehr-admin')) {
req.user.role = 'admin';
} else if (groups.includes('feuerwehr-kommandant')) {
req.user.role = 'kommandant';
req.user.role = 'kommandant' as any;
} else {
req.user.role = 'mitglied';
req.user.role = 'mitglied' as any;
}
logger.debug('resolveRole', { userId: req.user.id, role: req.user.role });
}