docs: add api.txt with detailed API endpoints and their input/output specifications
This commit is contained in:
parent
f780591c7b
commit
3f0f4ab959
156
api.txt
Normal file
156
api.txt
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
# API Endpoints
|
||||||
|
|
||||||
|
## Benutzerverwaltung
|
||||||
|
|
||||||
|
### POST /users
|
||||||
|
- **Beschreibung**: Erstellt einen neuen Benutzer. Nur für Administratoren zugänglich.
|
||||||
|
- **Eingabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"username": "neuerBenutzer",
|
||||||
|
"password": "sicheresPasswort",
|
||||||
|
"role": "user" // optional
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "User created!"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### POST /users/login
|
||||||
|
- **Beschreibung**: Meldet einen Benutzer an und gibt ein JWT-Token zurück.
|
||||||
|
- **Eingabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"username": "benutzername",
|
||||||
|
"password": "passwort"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "Login successful!",
|
||||||
|
"token": "jwt_token",
|
||||||
|
"role": "user" // oder "admin"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### GET /users
|
||||||
|
- **Beschreibung**: Gibt eine Liste aller Benutzer zurück. Nur für Administratoren zugänglich.
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"username": "admin",
|
||||||
|
"role": "admin",
|
||||||
|
"last_login": "2023-10-01 12:00:00"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### PUT /users/<int:user_id>
|
||||||
|
- **Beschreibung**: Aktualisiert die Informationen eines Benutzers. Nur für Administratoren zugänglich.
|
||||||
|
- **Eingabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"username": "neuerBenutzername",
|
||||||
|
"role": "admin", // optional
|
||||||
|
"password": "neuesPasswort" // optional
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "User updated!"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### DELETE /users/<int:user_id>
|
||||||
|
- **Beschreibung**: Löscht einen Benutzer. Nur für Administratoren zugänglich.
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "User deleted!"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### PUT /users/change_password
|
||||||
|
- **Beschreibung**: Ändert das Passwort des angemeldeten Benutzers.
|
||||||
|
- **Eingabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"current_password": "aktuellesPasswort",
|
||||||
|
"new_password": "neuesPasswort"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "Password changed successfully!"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Spieleverwaltung
|
||||||
|
|
||||||
|
### POST /games
|
||||||
|
- **Beschreibung**: Fügt ein neues Spiel zur Sammlung hinzu.
|
||||||
|
- **Eingabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"title": "Spiel Titel",
|
||||||
|
"image": "https://example.com/image.jpg"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "Game added!"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### GET /games
|
||||||
|
- **Beschreibung**: Gibt eine Liste aller Spiele in der Sammlung zurück.
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"image": "base64_encoded_image",
|
||||||
|
"title": "Spiel Titel",
|
||||||
|
"date": "2023-10-01",
|
||||||
|
"buyer": "benutzername",
|
||||||
|
"owned": true
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### DELETE /games/<int:game_id>
|
||||||
|
- **Beschreibung**: Löscht ein Spiel aus der Sammlung.
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"message": "Game deleted!"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### GET /games/search
|
||||||
|
- **Beschreibung**: Sucht nach Spielen basierend auf einem Suchbegriff.
|
||||||
|
- **Ausgabe**:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"title": "Spiel Titel",
|
||||||
|
"link": "https://example.com/game",
|
||||||
|
"image_link": "https://example.com/image.jpg",
|
||||||
|
"release_date": "2023-10-01",
|
||||||
|
"price": "$59.99",
|
||||||
|
"rating": "5/5"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
]
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user