Konzept
Soft-Deletion
Eine DELETE-Operation in Codemeta OS entfernt keine Daten physisch.
Stattdessen werden zwei Felder gesetzt:
deletedAt– Zeitstempel der LöschungdeletedBy– User-ID, die die Löschung ausgelöst hat
Solche Datensätze sind in normalen Listen unsichtbar – Listen-Endpoints filtern gelöschte Datensätze automatisch heraus. Audit-Einträge bleiben dabei vollständig erhalten.
Warum?
- Compliance. Nachweispflichten verlangen oft, dass Daten nach einem Vorfall noch rekonstruierbar sind.
- Versehentliche Löschungen. Ein Soft-Delete lässt sich rückgängig machen.
- Konsistenz mit dem Audit-Trail. Wenn Audit-Einträge erhalten bleiben, müssen die referenzierten Entities ebenfalls auffindbar sein – sonst stehen Patches im Leeren.
Restore
Eine gelöschte Entity kann durch einen PATCH mit { "deletedAt": null }
über einen Admin-Endpoint wiederhergestellt werden, sofern der Account die
entsprechende Permission hat.