Add protected soft deletion for research runs
This commit is contained in:
23
API.md
23
API.md
@@ -359,17 +359,34 @@ Identisch zu `GET /v1/research/{id}` — gleicher Response.
|
||||
|
||||
### DELETE /v1/research/{id}
|
||||
|
||||
**Beschreibung:** Löscht einen Research-Run (nur wenn nicht completed).
|
||||
**Beschreibung:** Verschiebt einen Research-Run (auch einen abgeschlossenen) als
|
||||
Soft Delete in den Papierkorb. Der Run ist anschließend in normalen Listen und
|
||||
Abrufen nicht mehr sichtbar. Bei aktivem Löschschutz muss das Passwort im Body
|
||||
übergeben werden; Administratoren benötigen es nicht.
|
||||
|
||||
**Response (200 OK):**
|
||||
```json
|
||||
{
|
||||
"status": "deleted",
|
||||
"status": "hidden",
|
||||
"research_id": "uuid-..."
|
||||
}
|
||||
```
|
||||
|
||||
**Error (400):** Completed runs sind immutable.
|
||||
### PUT /v1/research/{id}/deletion-protection
|
||||
|
||||
Setzt einen Löschschutz mit einem Passwort von mindestens acht Zeichen. Das
|
||||
Passwort wird ausschließlich als scrypt-Hash gespeichert und nie ausgegeben.
|
||||
Bei einer Änderung eines bestehenden Schutzes ist `current_password` nötig.
|
||||
|
||||
### GET /v1/admin/research/deleted
|
||||
|
||||
Administrator-Endpunkt für den Papierkorb. Die Administratorrolle wird lokal
|
||||
mit `nsct-api-key grant-admin <username>` vergeben.
|
||||
|
||||
### DELETE /v1/admin/research/{id}
|
||||
|
||||
Endgültiges Löschen eines bereits ausgeblendeten Eintrags. Sowohl Soft Delete
|
||||
als auch Purge werden in `research_deletion_audit` protokolliert.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user