Commit graph

9 commits

Author SHA1 Message Date
Jesko Anschütz
cc9ca2cd81 fix: nil-pointer in DeleteMediaUI, restricted delete-check in tenant handler, SCHEMA fix
- HandleDeleteMediaUI: check err after media.Get before using asset (prevents nil-pointer panic)
- HandleTenantDeleteMedia: add restricted-user ownership check (K3)
- HandleTenantDashboard: filter media list by ownerUserID for restricted users
- SCHEMA.md: correct created_by_user_id to 'text null ... on delete set null'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 09:18:12 +01:00
Jesko Anschütz
e884acf41d docs: media_assets.created_by_user_id + Berechtigungslogik dokumentiert
- SCHEMA.md: Index idx_media_assets_created_by_user_id hinzugefügt
- API-ENDPOINTS.md: GET/POST Media-Endpoints erweitert um owner_is_restricted und owner_username
- API-ENDPOINTS.md: DELETE Media-Endpoint mit Berechtigungslogik dokumentiert
  * admin_user: immer erlaubt
  * screen_user: erlaubt wenn asset.tenant_id == user.tenant_id
  * restricted: erlaubt nur wenn asset.created_by_user_id == user.id

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 09:14:35 +01:00
Jesko Anschütz
db68c84d45 docs: API-ENDPOINTS + SCHEMA für Override und Wochenend-Sperre
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 20:25:50 +01:00
Jesko Anschütz
a27ef11b45 docs: Display-Steuerung + Zeitplan in API-ENDPOINTS, SCHEMA, README
- API-ENDPOINTS.md: neue Sektion "Display-Steuerung" mit POST /api/v1/screens/{screenSlug}/display und POST /api/v1/screens/{screenSlug}/schedule
- SCHEMA.md: Hinweis zur vereinfachten screen_status-Tabelle (Migration 004) und neue Sektion screen_schedules (Migration 005)
- server/backend/README.md: scheduler-Package beschrieben, Migrationen 004+005 ergaenzt, Endpunkt-Tabelle aktualisiert

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 07:27:50 +01:00
Jesko Anschütz
097cd58c0c docs: Dokumentation validiert und korrigiert
- SCHEMA.md: screen_id in user_screen_permissions von uuid auf text korrigiert
- SCHEMA.md: Phasen-Hinweis zur screens-Tabelle hinzugefügt (6 Spalten aktuell implementiert, erweiterte Phase 2-3)
- SERVER-KONZEPT.md: RequireScreenAccess-Middleware dokumentiert inkl. Route-Gruppen und Verhaltens-Details
- server/backend/README.md: Env-Variable DATABASE_URL → MORZ_INFOBOARD_DATABASE_URL korrigiert
- DEVELOPMENT.md: Compose-Stack von "später" auf "existiert bereits" aktualisiert
- API-ENDPOINTS.md: HandlePlayerPlaylist Response um fehlende Felder ergänzt (playlist_id, media_asset_id, order_index, created_at)
- DEVELOPMENT.md: Architekturentscheidungen präzisiert (message_wall=implementiert, Kampagnen=geplant)

Co-Authored-By: Klaus <noreply@example.com>
2026-03-24 00:10:50 +01:00
Jesko Anschütz
8e0501a012 Doku: Screen-Usserverwaltung (Phase 8)
Aktualisiert Dokumentation für Screen-User Management nach Backy's Implementierung:

docs/SCHEMA.md:
- users.role erweitert: 'admin' | 'screen_user' | 'tenant'
- Neue Tabelle: user_screen_permissions (user_id, screen_id, created_at, unique constraint, FK mit CASCADE)
- AuthStore: CreateScreenUser, ListScreenUsers, DeleteUser
- ScreenStore: GetAccessibleScreens, HasUserScreenAccess, AddUserToScreen, RemoveUserFromScreen, GetScreenUsers

docs/API-ENDPOINTS.md:
- POST /admin/users — Screen-User anlegen
- POST /admin/users/{userID}/delete — Screen-User löschen
- POST /admin/screens/{screenID}/users — User zu Screen hinzufügen
- POST /admin/screens/{screenID}/users/{userID}/remove — User von Screen entfernen

server/backend/README.md:
- AuthStore und ScreenStore Methoden dokumentiert
- Middleware RequireScreenAccess erklärt
- Migration 003_user_screen_permissions.sql erwähnt

DEVELOPMENT.md:
- users.role Werte dokumentiert (admin, screen_user, tenant)

Co-Authored-By: Backy (Screen-User Implementation) <noreply@anthropic.com>
2026-03-23 22:07:32 +01:00
Jesko Anschütz
4268da7988 Doku-Sync: Auth, Tenant-Dashboard, Middleware, Schema nachgezogen
- SCHEMA.md: users-Tabelle korrigiert, sessions-Tabelle ergänzt
- API-ENDPOINTS.md: Auth-Routen + Tenant-Dashboard-Routen ergänzt
- SERVER-KONZEPT.md: Abschnitte Authentifizierung, Middleware-Kette, Tenant-Dashboard neu
- backend/README.md: komplett neu auf Basis aktueller Implementierung
- DEVELOPMENT.md: veraltete "nicht vorhanden"-Punkte bereinigt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 20:07:12 +01:00
Jesko Anschütz
7befa61805 Triff verbindliche Architekturentscheidungen 2026-03-22 13:35:41 +01:00
Jesko Anschütz
ae183d399e Forme das Datenmodell als Schemaentwurf aus 2026-03-22 13:11:51 +01:00