Backend: API-Endpunkt für Passwortänderung erstellen

Erstellen eines API-Endpunkts im Backend, der es einem authentifizierten Benutzer ermöglicht, sein Passwort zu ändern. Der Endpunkt soll sicherstellen, dass das neue Passwort korrekt validiert wird und die Änderungen sicher in der Datenbank gespeichert werden. Der Endpunkt muss auch Fehler behandeln, z.B. ungültige Passwörter oder fehlende Authentifizierung.

Akzeptanzkriterien:

  1. Authentifizierung: Der API-Endpunkt /api/password-reset ist nur für angemeldete Benutzer zugänglich.
  2. Eingaben: Der Endpunkt akzeptiert eine JSON-Anfrage mit den Feldern new_password und confirm_password.
  3. Validierung:
  • Das neue Passwort muss die festgelegten Anforderungen erfüllen (mindestens 8 Zeichen, mindestens ein Sonderzeichen und eine Zahl).
  • new_password und confirm_password müssen übereinstimmen.
  1. Fehlerbehandlung:
  • Falls die Authentifizierung fehlschlägt, wird ein 401 Unauthorized-Fehler zurückgegeben.
  • Falls das Passwort nicht den Anforderungen entspricht, wird ein 400 Bad Request-Fehler zurückgegeben mit einer aussagekräftigen Fehlermeldung.
  1. Erfolgsantwort: Bei erfolgreicher Änderung wird ein 200 OK mit der Meldung „Passwort erfolgreich geändert“ zurückgegeben.

Definition of Done (DoD):

  1. Implementierung abgeschlossen: Der Endpunkt wurde erstellt und im Backend integriert.
  2. Code-Review abgeschlossen: Der Code wurde von einem Teammitglied überprüft und freigegeben.
  3. Unittests implementiert und erfolgreich: Unittests für die Eingabevalidierung und Authentifizierungsprüfung sind vorhanden und alle Tests laufen erfolgreich.
  4. Integrationstest implementiert: Ein Integrationstest für den Endpunkt wurde geschrieben, der den gesamten Passwortänderungsprozess abdeckt.
  5. Dokumentation: Die Entwicklerdokumentation beschreibt die API-Anfrage und -Antwort sowie die möglichen Fehlercodes und Fehlermeldungen.