Endpoints: Account‐Component - bjoern621/PeerDrop GitHub Wiki

Account Component

Hier befindet sich die Endpunkt-Dokumentation des Account-Components.


1. Account erstellen

URI

POST /accounts

Beschreibung

Legt einen neuen Benutzer an.

Request

{
  "username" : "string",
  "password" : "string"
}

Felder

  • username: Benutzername, Länge 3-100 Zeichen
  • password: Passwort in Klartext, Länge 6-100 Zeichen

Response

  • Status 201 (Created):
    {
      "id" : "string"
    }
    
  • Status 400 (Bad Request):
    {
      "error" : "Invalid JSON format."
    }
    
    {
      "error" : "Missing account data."
    }
    
  • Status 409 (Conflict):
    {
      "error" : "Username already exists."
    }
    

2. Einloggen

URI

POST /login

Beschreibung

Loggt den Benutzer ein. Speichert dafür die User ID in Session und setzt auf dem Client-Gerät einen entsprechenden Cookie.

Request

{
  "username" : "string",
  "password" : "string"
}

Felder

  • username: Benutzername, Länge 3-100 Zeichen
  • password: Passwort in Klartext, Länge 6-100 Zeichen

Response

  • Status 200 (OK):
    {
      "message" : "Logged in successfully"
    }
    
  • Status 400 (Bad Request):
    {
      "error" : "Invalid JSON format."
    }
    
    {
      "error" : "Invalid username"
    }
    
    {
      "error" : "Invalid password"
    }
    
    {
      "error" : "Missing account data."
    }
    

3. Ausloggen

URI

POST /logout

Beschreibung

Loggt den Benutzer aus. Bereinigt dafür die Session und entfernt den Cookie auf dem Client-Gerät.

Request

Kein Body.

Response

  • Status 200 (OK):
    {
      "message" : "Logged out successfully"
    }
    

4. Benutzerprofil laden

URI

GET /me

Beschreibung

Gibt den Benutzernamen des Accounts zurück, wenn das Client-Gerät in der aktuellen Session angemeldet ist.

Request

Kein Body.

Response

  • Status 200 (OK):
    {
      "message" : "string"
    }
    
    Felder:
    • message: Benutzername
  • Status 401 (Unauthorized): Kein Body. Wird zurückgegeben, wenn:
    • Benutzer nicht eingeloggt ist oder
    • Benutzerprofil nicht in Datenbank gespeichert ist.

5. Eingeloggt-Status abfragen

URI

GET /me/status

Beschreibung

Gibt zurück, ob das Client-Gerät angemeldet ist.

Request

Kein Body.

Response

  • Status 200 (OK):
    {
      "status" : true
    }
    
    Wenn das Client-Gerät in der Session angemeldet ist.
    {
      "status" : false
    }
    
    Wenn das Client-Gerät in der Session nicht angemeldet ist, oder
    • der Benutzeraccount nicht existiert, oder
    • der Cookie des Clients ein falsches Format hat.