Ergänzung Datenschutzerklärung und Impressum, Fristenformular in Einstellungen

This commit is contained in:
2026-08-10 06:44:11 +02:00
parent 8ffbda875e
commit 777e3e5447
25 changed files with 1310 additions and 139 deletions

View File

@@ -58,23 +58,39 @@ class DeleteUserIn(BaseModel):
confirm_email: EmailStr
class DurationOut(BaseModel):
"""Eine einstellbare Frist samt Beschreibung.
Beschriftung, Einheit und Grenzen kommen vom Server, damit die
Oberflaeche sie nicht doppelt vorhalten muss - und damit nicht das
eine steht und das andere gilt.
"""
key: str
label: str
unit: str
value: int
default: int
minimum: int
maximum: int
# Was bedeutet 0? None = nicht erlaubt.
zero_means: str | None = None
note: str = ""
class AdminSettingsOut(BaseModel):
allow_self_registration: bool
locked_by_env: bool
# 0 = abgeschaltet
auto_deactivate_months: int
auto_delete_months: int
# Listen: archivieren nach Nichtbenutzung, loeschen nach Archivdauer
auto_archive_months: int
archive_delete_months: int
durations: list[DurationOut]
# Fristen, die ausserhalb der Anwendung liegen - nur zur Anzeige,
# damit die Uebersicht nicht unvollstaendig wirkt.
fixed: dict[str, str]
class AdminSettingsIn(BaseModel):
allow_self_registration: bool | None = None
auto_deactivate_months: int | None = Field(default=None, ge=0, le=600)
auto_delete_months: int | None = Field(default=None, ge=0, le=600)
auto_archive_months: int | None = Field(default=None, ge=0, le=600)
archive_delete_months: int | None = Field(default=None, ge=0, le=600)
# Schluessel aus DURATIONS -> neuer Wert
durations: dict[str, int] | None = None
class WelcomeCompleteIn(BaseModel):