From 72b2cc04af6b6bc0b051273c6efae891c77d059f Mon Sep 17 00:00:00 2001 From: Victoria Badeke <victoria.badeke@mni.thm.de> Date: Fri, 24 Jan 2025 12:58:15 +0100 Subject: [PATCH] datenbank --- userman_all/server/doc/index.html | 20 ++++++------- userman_all/server/src/server.ts | 47 +++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/userman_all/server/doc/index.html b/userman_all/server/doc/index.html index 52f0d40..0248141 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=1737719621971" rel="stylesheet" media="screen"> + <link href="assets/prism.css?v=1737719621971" rel="stylesheet" /> + <link href="assets/prism-toolbar.css?v=1737719621971" rel="stylesheet" /> + <link href="assets/prism-diff-highlight.css?v=1737719621971" rel="stylesheet" /> + <link href="assets/main.css?v=1737719621971" rel="stylesheet" media="screen, print"> + <link href="assets/favicon.ico?v=1737719621971" rel="icon" type="image/x-icon"> + <link href="assets/apple-touch-icon.png?v=1737719621971" rel="apple-touch-icon" sizes="180x180"> + <link href="assets/favicon-32x32.png?v=1737719621971" rel="icon" type="image/png" sizes="32x32"> + <link href="assets/favicon-16x16.png?v=1737719621971" 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=1737719621971"></script> </body> </html> diff --git a/userman_all/server/src/server.ts b/userman_all/server/src/server.ts index 801b0a2..33bb7c1 100644 --- a/userman_all/server/src/server.ts +++ b/userman_all/server/src/server.ts @@ -594,6 +594,53 @@ app.put('/user', isLoggedIn, async (req: Request, res: Response): Promise<void> } }); +/** + * @api {put} /user/:userId Aktualisiere Benutzerdaten + * @apiName UpdateUser + * @apiGroup Admin + * @apiPermission loggedIn + * + * @apiDescription Diese Route ermöglicht es dem Admin, die Daten eines bestimmten Benutzers zu aktualisieren. + * Der Admin muss eingeloggt sein, um diese Route nutzen zu können. + * + * @apiParam {Number} userId Die ID des zu aktualisierenden Benutzers. (Pflichtfeld) + * + * @apiBody {String} firstName Vorname des Benutzers. (Pflichtfeld) + * @apiBody {String} lastName Nachname des Benutzers. (Pflichtfeld) + * @apiBody {String} eMail E-Mail-Adresse des Benutzers. (Pflichtfeld) + * @apiBody {String} adress Adresse des Benutzers. (Optional) + * @apiBody {String} role Rolle des Benutzers. (Pflichtfeld) + * + * @apiSuccess {String} message Erfolgsmeldung, dass die Benutzerdaten erfolgreich aktualisiert wurden. + * + * @apiError {Number} 400 Fehlende Pflichtfelder: Es wurden nicht alle erforderlichen Felder ausgefüllt. + * @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 Success-Response: + * HTTP/1.1 200 OK + * { + * "message": "Successfully updated user John Doe" + * } + * + * @apiErrorExample {json} Fehlende Pflichtfelder: + * HTTP/1.1 400 Bad Request + * { + * "message": "Not all mandatory fields are filled in" + * } + * + * @apiErrorExample {json} Benutzer nicht gefunden: + * HTTP/1.1 404 Not Found + * { + * "message": "The user to update could not be found" + * } + * + * @apiErrorExample {json} Datenbankfehler: + * HTTP/1.1 500 Internal Server Error + * { + * "message": "Database request failed: [Fehlermeldung]" + * } + */ // update route admin app.put('/user/:userId', isLoggedIn, async (req: Request, res: Response): Promise<void> => { console.log(req.body); -- GitLab