from pydantic import BaseModel, ConfigDict from app.models.stammdaten import MaterialTyp class BereichCreate(BaseModel): name: str beschreibung: str | None = None class BereichRead(BereichCreate): model_config = ConfigDict(from_attributes=True) id: int class KategorieCreate(BaseModel): bereich_id: int name: str ueberkategorie_id: int | None = None class KategorieRead(KategorieCreate): model_config = ConfigDict(from_attributes=True) id: int class StandortCreate(BaseModel): name: str adresse: str | None = None class StandortRead(StandortCreate): model_config = ConfigDict(from_attributes=True) id: int class ObjekttypCreate(BaseModel): bereich_id: int kategorie_id: int | None = None name: str class ObjekttypRead(ObjekttypCreate): model_config = ConfigDict(from_attributes=True) id: int class MaterialCreate(BaseModel): name: str artikelnummer: str | None = None einheit: str materialtyp: MaterialTyp kategorie_id: int | None = None hersteller: str | None = None beschreibung: str | None = None code: str | None = None warnzeitraum_tage: int | None = None aktiv: bool = True class MaterialUpdate(BaseModel): name: str | None = None artikelnummer: str | None = None einheit: str | None = None materialtyp: MaterialTyp | None = None kategorie_id: int | None = None hersteller: str | None = None beschreibung: str | None = None code: str | None = None warnzeitraum_tage: int | None = None aktiv: bool | None = None class MaterialRead(MaterialCreate): model_config = ConfigDict(from_attributes=True) id: int