From c1b63961424dfcdb772d1737674cd50ef83d2920 Mon Sep 17 00:00:00 2001 From: "Manuel Weiser (aider)" Date: Tue, 3 Sep 2024 21:15:21 +0200 Subject: [PATCH] docs: Update README to provide detailed explanations for API endpoints --- game_collection/README.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/game_collection/README.md b/game_collection/README.md index 33156cb..6ba848c 100644 --- a/game_collection/README.md +++ b/game_collection/README.md @@ -6,19 +6,27 @@ Dies ist eine Flask-basierte API zur Verwaltung einer Sammlung von Spielen. Die ### Benutzerverwaltung -- **POST /users**: Erstellt einen neuen Benutzer (nur für Admins). -- **POST /users/login**: Meldet einen Benutzer an und gibt ein JWT-Token zurück. -- **GET /users**: Gibt eine Liste aller Benutzer zurück (nur für Admins). -- **PUT /users/**: Aktualisiert die Informationen eines Benutzers (nur für Admins). -- **DELETE /users/**: Löscht einen Benutzer (nur für Admins). -- **PUT /users/change_password**: Ändert das Passwort des angemeldeten Benutzers. Erfordert das aktuelle Passwort und das neue Passwort. +- **POST /users**: Erstellt einen neuen Benutzer. Dieser Endpunkt ist nur für Administratoren zugänglich. Der Benutzer muss einen Benutzernamen und ein Passwort angeben. Der Administrator kann auch die Rolle des neuen Benutzers festlegen (entweder 'user' oder 'admin'). + +- **POST /users/login**: Meldet einen Benutzer an und gibt ein JWT-Token zurück. Der Benutzer muss seinen Benutzernamen und sein Passwort angeben. Bei erfolgreicher Anmeldung wird ein Token generiert, das für zukünftige Anfragen verwendet werden kann. + +- **GET /users**: Gibt eine Liste aller Benutzer zurück. Dieser Endpunkt ist nur für Administratoren zugänglich. Die Antwort enthält Informationen wie Benutzer-ID, Benutzernamen, Rolle und das Datum der letzten Anmeldung. + +- **PUT /users/**: Aktualisiert die Informationen eines Benutzers. Nur Administratoren können diesen Endpunkt verwenden. Der Administrator kann den Benutzernamen, die Rolle und das Passwort des Benutzers aktualisieren. + +- **DELETE /users/**: Löscht einen Benutzer. Dieser Endpunkt ist nur für Administratoren zugänglich. Der Administrator muss die Benutzer-ID angeben, um den Benutzer zu löschen. + +- **PUT /users/change_password**: Ändert das Passwort des angemeldeten Benutzers. Der Benutzer muss sein aktuelles Passwort und das neue Passwort angeben. Wenn das aktuelle Passwort korrekt ist, wird das Passwort des Benutzers aktualisiert. ### Spieleverwaltung -- **POST /games**: Fügt ein neues Spiel zur Sammlung hinzu. Erfordert ein Bild-URL und den Titel des Spiels. -- **GET /games**: Gibt eine Liste aller Spiele in der Sammlung zurück. -- **DELETE /games/**: Löscht ein Spiel aus der Sammlung. -- **GET /games/search**: Sucht nach Spielen basierend auf einem Suchbegriff. +- **POST /games**: Fügt ein neues Spiel zur Sammlung hinzu. Der Benutzer muss ein Bild-URL und den Titel des Spiels angeben. Die API lädt das Bild herunter, speichert es lokal und erstellt einen neuen Spieleintrag in der Datenbank. Der Benutzer, der das Spiel hinzufügt, wird als Käufer festgelegt. + +- **GET /games**: Gibt eine Liste aller Spiele in der Sammlung zurück. Der Benutzer muss authentifiziert sein. Die Antwort enthält Informationen zu jedem Spiel, einschließlich Titel, Bild (als Base64-kodiert), Kaufdatum, Käufer und ob das Spiel im Besitz des Benutzers ist. + +- **DELETE /games/**: Löscht ein Spiel aus der Sammlung. Der Benutzer muss authentifiziert sein und die Spiele-ID angeben. Wenn das Spiel gefunden wird, wird es aus der Datenbank und vom Dateisystem gelöscht. + +- **GET /games/search**: Sucht nach Spielen basierend auf einem Suchbegriff. Der Benutzer muss authentifiziert sein. Der Suchbegriff wird als Abfrageparameter übergeben. Die API sendet eine Anfrage an eine externe Website, um Spiele zu finden, die dem Suchbegriff entsprechen, und gibt die Ergebnisse zurück. ## Installation