diff --git a/userman_all/server/doc/index.html b/userman_all/server/doc/index.html index 9e997c127e1e1b8f25932b221fb2985d7a1d4210..1f6cc3b7ff3711216a27f3f6fc31dae8ed668277 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=1737968153982" rel="stylesheet" media="screen"> - <link href="assets/prism.css?v=1737968153982" rel="stylesheet" /> - <link href="assets/prism-toolbar.css?v=1737968153982" rel="stylesheet" /> - <link href="assets/prism-diff-highlight.css?v=1737968153982" rel="stylesheet" /> - <link href="assets/main.css?v=1737968153982" rel="stylesheet" media="screen, print"> - <link href="assets/favicon.ico?v=1737968153982" rel="icon" type="image/x-icon"> - <link href="assets/apple-touch-icon.png?v=1737968153982" rel="apple-touch-icon" sizes="180x180"> - <link href="assets/favicon-32x32.png?v=1737968153982" rel="icon" type="image/png" sizes="32x32"> - <link href="assets/favicon-16x16.png?v=1737968153982" rel="icon" type="image/png" sizes="16x16"> + <link href="assets/bootstrap.min.css?v=1738144941061" rel="stylesheet" media="screen"> + <link href="assets/prism.css?v=1738144941061" rel="stylesheet" /> + <link href="assets/prism-toolbar.css?v=1738144941061" rel="stylesheet" /> + <link href="assets/prism-diff-highlight.css?v=1738144941061" rel="stylesheet" /> + <link href="assets/main.css?v=1738144941061" rel="stylesheet" media="screen, print"> + <link href="assets/favicon.ico?v=1738144941061" rel="icon" type="image/x-icon"> + <link href="assets/apple-touch-icon.png?v=1738144941061" rel="apple-touch-icon" sizes="180x180"> + <link href="assets/favicon-32x32.png?v=1738144941061" rel="icon" type="image/png" sizes="32x32"> + <link href="assets/favicon-16x16.png?v=1738144941061" 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=1737724955109"></script> +<script src="assets/main.bundle.js?v=1738144941061"></script> </body> </html> diff --git a/userman_all/server/src/server.ts b/userman_all/server/src/server.ts index 525b50df9d0ffd9b98b112efe3da51f26214f00a..cce80910456f8cb97f41b3b4c7cddee25aeb71a8 100644 --- a/userman_all/server/src/server.ts +++ b/userman_all/server/src/server.ts @@ -1036,8 +1036,51 @@ app.get('/reviews', isLoggedIn, async (req: Request, res: Response): Promise<voi } }); -/// Update Review + +/** + * @api {put} /reviews/:reviews_id Reisebericht bearbeiten + * @apiName ReiseberichtBearbeiten + * @apiGroup Reviews + * + * @apiDescription Aktualisiert einen bestehenden Reisebericht anhand der angegebenen ID. Der Nutzer muss eingeloggt sein, um auf diese Route zugreifen zu können. + * + * @apiHeader {String} Cookie Session-Cookie zur Authentifizierung des Nutzers. + * + * @apiParam {Number} reviews_id Die ID des zu bearbeitenden Reiseberichts (Pfad-Parameter). + * @apiParam {String} title Der neue Titel des Reiseberichts. + * @apiParam {String} description Die neue Beschreibung des Reiseberichts. + * + * @apiSuccess {String} message Bestätigungsnachricht über die erfolgreiche Bearbeitung. + * + * @apiSuccessExample Erfolg: + * HTTP/1.1 200 OK + * { + * "message": "erfolgreich bearbeitet" + * } + * + * @apiError {String} message Fehlermeldung bei ungültigen Eingaben oder fehlgeschlagener Bearbeitung. + * + * @apiErrorExample {json} 400 Fehler (Fehlende Felder): + * HTTP/1.1 400 Bad Request + * { + * "message": "füll alle Felder aus" + * } + * + * @apiErrorExample {json} 404 Fehler (Nicht gefunden): + * HTTP/1.1 404 Not Found + * { + * "message": "der Reisebericht konnte nicht gefunden werden" + * } + * + * @apiErrorExample {json} 500 Fehler (Datenbankproblem): + * HTTP/1.1 500 Internal Server Error + * { + * "message": "Database request failed: [Fehlerdetails]" + * } + */ + +/// Update Review app.put('/reviews/:reviews_id', isLoggedIn, async (req: Request, res: Response): Promise<void> => { // Read data from request const reviews_id: number = Number(req.params.reviews_id); @@ -1078,6 +1121,49 @@ app.put('/reviews/:reviews_id', isLoggedIn, async (req: Request, res: Response): } }); + + +/** + * @api {delete} /reviews/:reviews_id Reisebericht löschen + * @apiName ReiseberichtLöschen + * @apiGroup Reviews + * + * @apiDescription Löscht einen bestehenden Reisebericht anhand der angegebenen ID. Der Nutzer muss eingeloggt sein, um auf diese Route zugreifen zu können. + * + * @apiHeader {String} Cookie Session-Cookie zur Authentifizierung des Nutzers. + * + * @apiParam {Number} reviews_id Die ID des zu löschenden Reiseberichts (Pfad-Parameter). + * + * @apiSuccess {String} message Bestätigungsnachricht über die erfolgreiche Löschung. + * + * @apiSuccessExample Erfolg: + * HTTP/1.1 200 OK + * { + * "message": "Löschen des Erfahrungsberichts war erfolgreich!" + * } + * + * @apiError {String} message Fehlermeldung bei ungültigen Eingaben oder fehlgeschlagener Löschung. + * + * @apiErrorExample {json} 400 Fehler (Ungültige ID): + * HTTP/1.1 400 Bad Request + * { + * "message": "Ungültige ID erhalten!" + * } + * + * @apiErrorExample {json} 404 Fehler (Nicht gefunden): + * HTTP/1.1 404 Not Found + * { + * "message": "Der Beitrag, der gelöscht werden soll, konnte nicht gefunden werden." + * } + * + * @apiErrorExample {json} 500 Fehler (Datenbankproblem): + * HTTP/1.1 500 Internal Server Error + * { + * "message": "Database request failed: [Fehlerdetails]" + * } + */ + + //Delete Review app.delete('/reviews/:reviews_id', isLoggedIn, async (req: Request, res: Response): Promise<void> => { // Read data from request