const express = require('express'); const router = express.Router(); const { requireAdmin } = require('../middleware/role.middleware'); const { getUserRoles, updateUserRoles, deleteUserRoles } = require('../controllers/roles.controller'); /** * @swagger * /api/users/{userId}/roles: * get: * summary: Liefert die Rollen eines Benutzers * tags: [Roles] * parameters: * - in: path * name: userId * required: true * schema: * type: string * description: Die ID des Benutzers * responses: * 200: * description: Die Rollen des Benutzers * content: * application/json: * schema: * type: array * items: * type: string * 404: * description: Benutzer nicht gefunden * 500: * description: Interner Serverfehler */ router.get('/:userId/roles', getUserRoles); /** * @swagger * /api/users/{userId}/roles: * put: * summary: Ändert die Rollen eines Benutzers * tags: [Roles] * parameters: * - in: path * name: userId * required: true * schema: * type: string * description: Die ID des Benutzers * requestBody: * required: true * content: * application/json: * schema: * type: array * items: * type: string * description: Die neuen Rollen des Benutzers * responses: * 200: * description: Rollen erfolgreich aktualisiert * 400: * description: Ungültige Rollen * 403: * description: Keine Berechtigung * 404: * description: Benutzer nicht gefunden * 500: * description: Interner Serverfehler */ router.put('/:userId/roles', requireAdmin, updateUserRoles); /** * @swagger * /api/users/{userId}/roles: * delete: * summary: Entfernt alle Rollen eines Benutzers * tags: [Roles] * parameters: * - in: path * name: userId * required: true * schema: * type: string * description: Die ID des Benutzers * responses: * 200: * description: Rollen erfolgreich entfernt * 403: * description: Keine Berechtigung * 404: * description: Benutzer nicht gefunden * 500: * description: Interner Serverfehler */ router.delete('/:userId/roles', requireAdmin, deleteUserRoles); module.exports = router;