feat(backend): Person unarchivieren (PUT /api/v1/persons/{person_id}/archive mit archive=false) #262

Closed
opened 2026-07-06 22:02:07 +02:00 by niboer · 0 comments
Owner

Beschreibung

Aktuell kann eine Person nur archiviert werden (PUT /api/v1/persons/{person_id}/archive setzt archivedAt). Es gibt keinen Mechanismus zum Entarchivieren.

Fuer E2E-Tests ist das problematisch: wenn ein Test eine Person archiviert, koennen nachfolgende Tests nicht mehr mit dem urspruenglichen Datenbestand arbeiten.

Vorschlag

PUT /api/v1/persons/{person_id}/archive um einen Query-Parameter erweitern:

PUT /api/v1/persons/{person_id}/archive?archive=false
  • archive=true (Default): setzt archivedAt = new Date() (aktuelles Verhalten)
  • archive=false: setzt archivedAt = null (Person reaktivieren)

Validierung

  • 400 wenn archive=false aber Person ist nicht archiviert
  • 400 wenn archive=true aber Person ist bereits archiviert (bereits vorhanden)

OpenAPI

  • Parameter archive (boolean, optional, default: true) in /api/v1/persons/{person_id}/archive ergaenzen

Use Case

E2E-Tests koennen nach einer Archivierung den Urspungszustand wiederherstellen, sodass nachfolgende Tests unabhaengig voneinander sind.

Abgrenzung

  • Nur einzelne Person, kein Batch-Unarchive
  • Kein Bulk-Endpunkt
## Beschreibung Aktuell kann eine Person nur archiviert werden (`PUT /api/v1/persons/{person_id}/archive` setzt `archivedAt`). Es gibt keinen Mechanismus zum Entarchivieren. Fuer E2E-Tests ist das problematisch: wenn ein Test eine Person archiviert, koennen nachfolgende Tests nicht mehr mit dem urspruenglichen Datenbestand arbeiten. ## Vorschlag `PUT /api/v1/persons/{person_id}/archive` um einen Query-Parameter erweitern: ``` PUT /api/v1/persons/{person_id}/archive?archive=false ``` - `archive=true` (Default): setzt `archivedAt = new Date()` (aktuelles Verhalten) - `archive=false`: setzt `archivedAt = null` (Person reaktivieren) ### Validierung - `400` wenn `archive=false` aber Person ist nicht archiviert - `400` wenn `archive=true` aber Person ist bereits archiviert (bereits vorhanden) ### OpenAPI - Parameter `archive` (boolean, optional, default: true) in `/api/v1/persons/{person_id}/archive` ergaenzen ## Use Case E2E-Tests koennen nach einer Archivierung den Urspungszustand wiederherstellen, sodass nachfolgende Tests unabhaengig voneinander sind. ## Abgrenzung - Nur einzelne Person, kein Batch-Unarchive - Kein Bulk-Endpunkt
Sign in to join this conversation.
No description provided.