Document.kt
package de.werkbaum.domain
import java.time.OffsetDateTime
import java.util.UUID
/**
* Internes Domänenmodell (bewusst getrennt vom generierten API-Modell).
*
* [version] wird bei jeder Änderung inkrementiert und dient später als Basis
* für Optimistic Locking und Live-Editing-Konflikterkennung.
* [content] ist ein opaker String – bei clientseitiger Verschlüsselung wird
* hier später Ciphertext gespeichert, ohne dass sich das Modell ändert.
*/
data class Document(
val id: UUID,
val title: String,
val content: String,
val version: Long,
val createdAt: OffsetDateTime,
val updatedAt: OffsetDateTime,
)