161 lines
2.9 KiB
Plaintext
161 lines
2.9 KiB
Plaintext
# API URL
|
|
|
|
https://mikaapi.fire-devils.org
|
|
|
|
# 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"
|
|
},
|
|
...
|
|
]
|
|
```
|