Files
B0rbor4d d1a757d72b Benutzerverwaltung + Fehleranzeige in Formularen
- Backend: /api/users (LIST/CREATE/PATCH, admin-only) mit Self-Protection
  (Admin kann sich nicht selbst deaktivieren/entziehen), lokale User
  anlegbar, LDAP-User verwaltbar (aktiv/admin), Passwort-Reset nur lokal
- Frontend: Benutzer-View (Liste, anlegen, toggles, Passwort setzen),
  Nav-Eintrag + Route
- Bugfix 'Speichern tut nichts': submit() brach stillschweigend ab wenn
  kein Kunde gewaehlt war oder die API einen Fehler lieferte - jetzt
  wird eine Fehlermeldung angezeigt (Servers, Customers, Satellites)
2026-09-29 01:25:04 +00:00

36 lines
876 B
Python

"""User schemas for dashboard user management."""
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
class UserRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
username: str
email: str | None
full_name: str | None
is_ldap: bool
is_admin: bool
is_active: bool
last_login_at: datetime | None
created_at: datetime
class UserCreate(BaseModel):
username: str = Field(min_length=2, max_length=255)
password: str = Field(min_length=8, max_length=72)
email: str | None = None
full_name: str | None = None
is_admin: bool = False
class UserUpdate(BaseModel):
email: str | None = None
full_name: str | None = None
is_admin: bool | None = None
is_active: bool | None = None
password: str | None = Field(default=None, min_length=8, max_length=72)