import uuid from datetime import datetime from decimal import Decimal from pydantic import BaseModel, ConfigDict from app.models.lager import LagerortTyp class LagerortCreate(BaseModel): name: str parent_id: int | None = None typ: LagerortTyp class LagerortUpdate(BaseModel): name: str | None = None parent_id: int | None = None typ: LagerortTyp | None = None class LagerortRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: int name: str parent_id: int | None typ: LagerortTyp class LagerplatzCreate(BaseModel): lagerort_id: int code: str bezeichnung: str | None = None class LagerplatzRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: int lagerort_id: int code: str bezeichnung: str | None class BestandRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: uuid.UUID lagerplatz_id: int material_id: int menge: Decimal class EinAuslagernRequest(BaseModel): material_id: int menge: Decimal grund: str | None = None class MaterialbewegungRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: uuid.UUID material_id: int menge: Decimal von_lagerplatz_id: int | None nach_lagerplatz_id: int | None benutzer_id: int zeitpunkt: datetime grund: str | None