Deploy user requested features and fixes, add Galerie menu link.

This commit is contained in:
Kroonk
2026-04-12 18:53:59 +02:00
parent 941d041b5d
commit 61bd512cd8
3 changed files with 54 additions and 6 deletions

View File

@@ -81,8 +81,10 @@ Photography/
8. **Download-Button**: In der Lightbox kann jedes Bild heruntergeladen werden
### Zugriffslogik
- **Nicht eingeloggt / Admin**: Alle Bilder sichtbar (oeffentliche Galerie)
- **Eingeloggter Nutzer**: Nur zugewiesene Bilder sichtbar + Download
- **Nicht eingeloggt**: Nur Root-Bilder (direkt in Websitebilder/) sichtbar
- **Admin**: Alle Bilder (Root + alle Unterordner) sichtbar
- **User (permanent)**: Root-Bilder + zugewiesene Unterordner
- **Client (30 Tage)**: Root-Bilder + zugewiesene Unterordner, Account laeuft nach 30 Tagen ab
### Nextcloud-Integration
- **Nextcloud-Pfad**: `/volume1/nextcloud/data/Tom/files/Websitebilder`
@@ -99,6 +101,19 @@ Photography/
- **Datenbank**: SQLite unter `/app/data/database.sqlite`
- **Passwort-Hashing**: bcryptjs (10 Rounds)
### Rollen
| Rolle | Beschreibung | Ablauf |
|---|---|---|
| `admin` | Voller Zugriff, Nutzerverwaltung, alle Bilder | Nie |
| `user` | Root-Bilder + zugewiesene Ordner | Nie |
| `client` | Root-Bilder + zugewiesene Ordner | 30 Tage nach Erstellung |
### Ordner-basierte Bildzuweisung
- Bilder direkt in `Websitebilder/` = oeffentlich (fuer alle sichtbar)
- Bilder in Unterordnern (z.B. `Websitebilder/Hochzeit/`) = nur fuer zugewiesene Nutzer
- Zuweisung erfolgt auf Ordner-Ebene (nicht einzelne Bilder)
- Tabelle `user_folders` speichert Zuweisungen (user_id, folder_name)
### Standard-Admin
- **Username**: `admin`
- **Passwort**: `admin123` (SOFORT AENDERN nach erstem Login!)
@@ -110,10 +125,13 @@ Photography/
| `/api/auth/login` | POST | Login (username, password) |
| `/api/auth/logout` | POST | Logout (Cookie loeschen) |
| `/api/auth/me` | GET | Aktueller User |
| `/api/admin/users` | GET/POST | Nutzer auflisten / erstellen |
| `/api/admin/users/:id` | DELETE | Nutzer loeschen |
| `/api/admin/assign` | GET/POST | Bildzuweisungen anzeigen / setzen |
| `/images/fulls/` | GET | Bilderliste (gefiltert nach User-Rolle) |
| `/api/auth/change-password` | POST | Eigenes Passwort aendern |
| `/api/admin/users` | GET/POST | Nutzer auflisten / erstellen (mit Rolle) |
| `/api/admin/users/:id` | DELETE | Nutzer loeschen (nicht sich selbst) |
| `/api/admin/users/:id/password` | PUT | Admin aendert User-Passwort |
| `/api/admin/folders` | GET | Verfuegbare Unterordner auflisten |
| `/api/admin/assign` | GET/POST | Ordner-Zuweisungen anzeigen / setzen |
| `/images/fulls/` | GET | Bilderliste (gefiltert nach User-Rolle + Ordnern) |
## Wichtige Konfiguration (_config.yml)
@@ -179,6 +197,9 @@ Photography/
- [x] Admin-Dashboard (Nutzerverwaltung, Bildzuweisung)
- [x] Kunden-Portal (zugewiesene Bilder + Download)
- [x] Watchtower fuer automatische Updates
- [x] 3-Rollen-System (admin/user/client mit 30-Tage-Ablauf)
- [x] Ordner-basierte Bildzuweisung (Unterordner = private Kundenbilder)
- [x] Passwort-Aenderung (Self-Service + Admin kann fuer andere aendern)
- [ ] Footer Bio-Text schreiben (optional)
- [ ] Farbschema/Design anpassen
- [ ] Eigene Kategorien/Alben erstellen (Feature-Erweiterung)

View File

@@ -21,6 +21,32 @@ Die Website wurde um ein Login-System mit Nutzerverwaltung erweitert.
---
## Rollen-System & Ordner-Zuweisung
### Beschreibung
Erweitertes Nutzermanagement mit 3 Rollen und ordnerbasierter Bildzuweisung.
### Anforderungen
**3 Rollen:**
- Admin: Voller Zugriff auf alle Bilder und Nutzerverwaltung
- User: Permanenter Account, sieht Root-Bilder + zugewiesene Ordner
- Client: Temporaerer Account (30 Tage), sieht Root-Bilder + zugewiesene Ordner
**Ordner-basierte Zuweisung:**
- Bilder direkt im Websitebilder-Ordner = oeffentlich fuer alle
- Unterordner (z.B. Hochzeit, Portrait) = nur fuer zugewiesene Nutzer
- Admin weist ganze Ordner einem Nutzer zu (nicht einzelne Bilder)
**Passwort-Aenderung:**
- Jeder Nutzer kann sein eigenes Passwort aendern
- Admin kann Passwoerter beliebiger Nutzer aendern
- Neue Admins erstellen und bestehende loeschen moeglich
### Status: Umgesetzt
---
## Auto-Update via Watchtower
### Beschreibung

View File

@@ -10,6 +10,7 @@ layout: default
<h1><a href="index.html"><strong>{{ site.header.title }}</strong> {{ site.header.subtitle }}</a></h1>
<nav>
<ul>
<li><a href="#galerie" id="galerie-link">Galerie</a></li>
<li><a href="#login-panel" id="login-nav">Login&nbsp;&nbsp;<i class="fa fa-user"></i></a></li>
<li><a href="#footer">About&nbsp;&nbsp;<i class="fa fa-info-circle text-fg"></i></a></li>
</ul>