Files
MABEA/backend/app/schemas/benutzer.py
T
patrickandClaude Sonnet 5 b9cf195a63
CI / backend-tests (push) Failing after 0s
Sprint 1: Stammdaten-Modelle/-Endpunkte, Admin-Benutzerverwaltung, Zuständigkeits-Vererbung (E2)
- ORM-Modelle: Bereich, Kategorie, Standort, Objekttyp, Material (Prompt 06/07),
  minimales Objekt-Modell (voll ausgebaut erst Sprint 2), Zustaendigkeit/
  Kontrollverantwortung
- Admin-API 7a: GET/POST Stammdaten-Endpunkte, PATCH Material, Benutzerverwaltung
  (anlegen/Rollen ändern), Zuständigkeits-/Kontrollverantwortungs-CRUD
- Vererbungslogik E2 als eigener Service (app/services/zustaendigkeit.py):
  Standort-Zuordnung vererbt sich auf alle Objekte, Objekt-Zeile ist Vereinigung
  statt Ersatz - GET /zustaendigkeiten/benutzer/{id}/objekte exponiert das
- Tests: Stammdaten-CRUD + Rollenrechte, Benutzerverwaltung (inkl. 409 bei
  Login-Duplikat), E2-Vererbungslogik (Standort-only, Standort+Objekt-Vereinigung,
  End-to-End über den Endpunkt)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
2026-09-03 23:12:49 +02:00

36 lines
771 B
Python

from pydantic import BaseModel, ConfigDict
from app.models.auth import RolleTyp
class BenutzerCreate(BaseModel):
name: str
login: str
passwort: str
rollen: list[RolleTyp] = []
class BenutzerRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
name: str
login: str
aktiv: bool
rollen: list[str]
@classmethod
def from_orm_benutzer(cls, benutzer) -> "BenutzerRead":
return cls(
id=benutzer.id,
name=benutzer.name,
login=benutzer.login,
aktiv=benutzer.aktiv,
rollen=benutzer.rollen_namen,
)
class BenutzerUpdate(BaseModel):
name: str | None = None
aktiv: bool | None = None
rollen: list[RolleTyp] | None = None