Files
minmal-file-cloud-email-pim…/backend/app/models/settings.py
T
Stefan Hacker 35099de2c5 feat: Share-Dialog Fix, User-Sharing, Admin-Benutzerverwaltung, Registrierungs-Toggle
- Fix: Share-Dialog oeffnet sich jetzt auch bei bereits geteilten Dateien
- Neu: Dateien/Ordner direkt mit anderen Benutzern teilen (Lesen/Schreiben/Admin)
- Neu: Benutzersuche im Share-Dialog, bestehende Freigaben anzeigen/entfernen
- Neu: Admin kann Benutzer ueber die Weboberflaeche anlegen
- Neu: Admin kann Benutzer bearbeiten (Rolle, Quota, aktiv/inaktiv) und loeschen
- Neu: Schieberegler fuer oeffentliche Registrierung in den Admin-Einstellungen
- Neu: Register-Link auf Login-Seite nur sichtbar wenn Registrierung erlaubt
- Neu: Register-Seite leitet um wenn Registrierung deaktiviert
- Neu: AppSettings-Model fuer persistente App-Konfiguration
- Neu: /api/users/search Endpunkt fuer Benutzersuche in Share-Dialogen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:26:04 +02:00

31 lines
840 B
Python

from app.extensions import db
class AppSettings(db.Model):
__tablename__ = 'app_settings'
key = db.Column(db.String(100), primary_key=True)
value = db.Column(db.Text, nullable=False)
@staticmethod
def get(key, default=''):
setting = db.session.get(AppSettings, key)
return setting.value if setting else default
@staticmethod
def set(key, value):
setting = db.session.get(AppSettings, key)
if setting:
setting.value = str(value)
else:
setting = AppSettings(key=key, value=str(value))
db.session.add(setting)
db.session.commit()
@staticmethod
def get_bool(key, default=False):
val = AppSettings.get(key, '')
if val == '':
return default
return val.lower() in ('true', '1', 'yes')