diff --git a/userman_all/server/doc/index.html b/userman_all/server/doc/index.html index 52f0d40e6bc759499219c658ca6539b27e1dc804..1abe6d8554d6820978fad698c40a5b94ba58c435 100644 --- a/userman_all/server/doc/index.html +++ b/userman_all/server/doc/index.html @@ -5,15 +5,15 @@ <meta name="description" content="horizon changers website"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <link href="assets/bootstrap.min.css?v=1737716477426" rel="stylesheet" media="screen"> - <link href="assets/prism.css?v=1737716477426" rel="stylesheet" /> - <link href="assets/prism-toolbar.css?v=1737716477426" rel="stylesheet" /> - <link href="assets/prism-diff-highlight.css?v=1737716477426" rel="stylesheet" /> - <link href="assets/main.css?v=1737716477426" rel="stylesheet" media="screen, print"> - <link href="assets/favicon.ico?v=1737716477426" rel="icon" type="image/x-icon"> - <link href="assets/apple-touch-icon.png?v=1737716477426" rel="apple-touch-icon" sizes="180x180"> - <link href="assets/favicon-32x32.png?v=1737716477426" rel="icon" type="image/png" sizes="32x32"> - <link href="assets/favicon-16x16.png?v=1737716477426" rel="icon" type="image/png" sizes="16x16"> + <link href="assets/bootstrap.min.css?v=1737719629104" rel="stylesheet" media="screen"> + <link href="assets/prism.css?v=1737719629104" rel="stylesheet" /> + <link href="assets/prism-toolbar.css?v=1737719629104" rel="stylesheet" /> + <link href="assets/prism-diff-highlight.css?v=1737719629104" rel="stylesheet" /> + <link href="assets/main.css?v=1737719629104" rel="stylesheet" media="screen, print"> + <link href="assets/favicon.ico?v=1737719629104" rel="icon" type="image/x-icon"> + <link href="assets/apple-touch-icon.png?v=1737719629104" rel="apple-touch-icon" sizes="180x180"> + <link href="assets/favicon-32x32.png?v=1737719629104" rel="icon" type="image/png" sizes="32x32"> + <link href="assets/favicon-16x16.png?v=1737719629104" rel="icon" type="image/png" sizes="16x16"> </head> <body class="container-fluid"> @@ -1042,6 +1042,6 @@ </div> </div> -<script src="assets/main.bundle.js?v=1737709870186"></script> +<script src="assets/main.bundle.js?v=1737719629104"></script> </body> </html> diff --git a/userman_all/server/src/server.ts b/userman_all/server/src/server.ts index 801b0a2b6d1cde4e09c352898ee26bff5c551929..dc3bb91168c9cd3f3450535aa1dc5de997d110fd 100644 --- a/userman_all/server/src/server.ts +++ b/userman_all/server/src/server.ts @@ -644,6 +644,41 @@ app.put('/user/:userId', isLoggedIn, async (req: Request, res: Response): Promis }); // User löschen vom Admin aus +/** + * @api {delete} /user/:userId Lösche Benutzer + * @apiName DeleteUser + * @apiGroup Admin + * @apiPermission loggedIn + * + * @apiDescription Diese Route ermöglicht es eingeloggten Admins, einen Benutzer anhand seiner ID zu löschen. + * Der Admin muss eingeloggt sein, um diese Route nutzen zu können. + * + * @apiParam {Number} userId Die ID des Benutzers, der gelöscht werden soll. (Pflichtfeld) + * + * @apiSuccess {String} message Erfolgsmeldung, dass der Benutzer erfolgreich gelöscht wurde. + * + * @apiError {Number} 404 Benutzer nicht gefunden: Der Benutzer konnte in der Datenbank nicht gefunden werden. + * @apiError {Number} 500 Datenbankfehler: Es gab ein Problem mit der Datenbankanfrage. + * + * @apiSuccessExample {json} Erfolgreiche Antwort: + * HTTP/1.1 200 OK + * { + * "message": "Löschen des Nutzers war erfolgreich!" + * } + * + * @apiErrorExample {json} Benutzer nicht gefunden: + * HTTP/1.1 404 Not Found + * { + * "message": "Der Nutzer, welcher gelöscht werden soll, konnte nicht gefunden werden." + * } + * + * @apiErrorExample {json} Datenbankfehler: + * HTTP/1.1 500 Internal Server Error + * { + * "message": "Database request failed: [Fehlermeldung]" + * } + */ + app.delete('/user/:userId', isLoggedIn, async (req: Request, res: Response): Promise<void> => { // Read data from request const userId: number = parseInt(req.params.userId);