diff --git a/docs/superpowers/specs/2026-03-28-user-spezifische-medien-design.md b/docs/superpowers/specs/2026-03-28-user-spezifische-medien-design.md index 31721b9..e91790a 100644 --- a/docs/superpowers/specs/2026-03-28-user-spezifische-medien-design.md +++ b/docs/superpowers/specs/2026-03-28-user-spezifische-medien-design.md @@ -37,14 +37,15 @@ ALTER TABLE media_assets ## Go-Datenmodell -`MediaAsset`-Struct bekommt zwei neue Felder: +`MediaAsset`-Struct bekommt drei neue Felder: ```go CreatedByUserID string // leer = kein Besitzer (legacy) OwnerIsRestricted bool // true wenn Uploader Rolle "restricted" hat +OwnerUsername string // Benutzername des Uploaders; leer wenn kein Besitzer ``` -`OwnerIsRestricted` wird per `LEFT JOIN users` in der List-Query befüllt — kein separater Lookup nötig. +`OwnerIsRestricted` und `OwnerUsername` werden per `LEFT JOIN users` in der List-Query befüllt — kein separater Lookup nötig. ## Store-Layer @@ -107,13 +108,20 @@ Wird angezeigt wenn `CreatedByUserID == ""`. Kein Benutzername wird angezeigt. - Vanilla JS: Toggle-Button wechselt eine CSS-Klasse auf dem Container; Items mit `data-owner-restricted="true"` werden sichtbar/unsichtbar - Kein Page-Reload, kein Server-Request — rein clientseitig +**Besitzer-Kennzeichnung** bei Restricted-Medien (Admin + screen_user, wenn sichtbar): + +```html +{{ .OwnerUsername }} +``` + +Wird neben dem Medientitel angezeigt, wenn `OwnerIsRestricted == true`. + ### Restricted-User-Ansicht Keine strukturellen Änderungen. Die Liste ist serverseitig gefiltert — der User sieht einfach nur eigene Einträge. Kein Toggle-Button sichtbar. ## Nicht im Scope -- Anzeige des Besitzernamens bei Medien - Übertragung von Medien zwischen Usern - Persistierung der Toggle-Einstellung (wird nicht gespeichert, reset bei Seitenladen)