import uuid from pydantic import BaseModel, ConfigDict, model_validator class ZustaendigkeitCreate(BaseModel): benutzer_id: int standort_id: int | None = None objekt_id: int | None = None @model_validator(mode="after") def _standort_oder_objekt(self) -> "ZustaendigkeitCreate": if self.standort_id is None and self.objekt_id is None: raise ValueError("Entweder standort_id oder objekt_id muss gesetzt sein.") return self class ZustaendigkeitRead(ZustaendigkeitCreate): model_config = ConfigDict(from_attributes=True) id: uuid.UUID class KontrollverantwortungCreate(BaseModel): objekt_id: int benutzer_id: int | None = None gruppe: str | None = None @model_validator(mode="after") def _person_oder_gruppe(self) -> "KontrollverantwortungCreate": if self.benutzer_id is None and self.gruppe is None: raise ValueError("Entweder benutzer_id oder gruppe muss gesetzt sein.") return self class KontrollverantwortungRead(KontrollverantwortungCreate): model_config = ConfigDict(from_attributes=True) id: uuid.UUID class ObjektKurz(BaseModel): model_config = ConfigDict(from_attributes=True) id: int code: str name: str standort_id: int