from decimal import Decimal from pydantic import BaseModel, ConfigDict from app.models.vorlage import VorlageStatus class VorlagenpositionCreate(BaseModel): material_id: int fach: str | None = None sollmenge: Decimal class VorlagenpositionRead(VorlagenpositionCreate): model_config = ConfigDict(from_attributes=True) id: int vorlage_id: int class BeladungsvorlageCreate(BaseModel): objekttyp_id: int name: str positionen: list[VorlagenpositionCreate] = [] class BeladungsvorlageRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: int objekttyp_id: int name: str version: int status: VorlageStatus positionen: list[VorlagenpositionRead] = [] class VorlagenAenderung(BaseModel): """Prompt 08: erzeugt eine neue Version statt die bestehende zu überschreiben. `positionen` ist die VOLLSTÄNDIGE neue Positionsliste der neuen Version.""" positionen: list[VorlagenpositionCreate]