# backend/schemas.py from pydantic import BaseModel from typing import Optional, List from datetime import datetime # === Equipment Type === class EquipmentTypeBase(BaseModel): name: str class EquipmentTypeCreate(EquipmentTypeBase): pass class EquipmentTypeRead(EquipmentTypeBase): id: int class Config: orm_mode = True # === Component === class ComponentBase(BaseModel): name: str description: Optional[str] = None class ComponentCreate(ComponentBase): oborud_id: int class ComponentRead(ComponentBase): id: int class Config: orm_mode = True # === Consumable === class ConsumableBase(BaseModel): name: str description: Optional[str] = None class ConsumableCreate(ConsumableBase): oborud_id: int class ConsumableRead(ConsumableBase): id: int class Config: orm_mode = True # === Oborud === class OborudBase(BaseModel): invNumber: Optional[int] nazvanie: str raspologenie: Optional[str] = None numberppasu: Optional[str] = None kolichestvo: Optional[int] = None aud_id: int type_id: int class OborudCreate(OborudBase): pass class OborudRead(OborudBase): id: int type: EquipmentTypeRead components: List[ComponentRead] = [] consumables: List[ConsumableRead] = [] class Config: orm_mode = True # === Auditory === class AuditoryBase(BaseModel): audnazvanie: str class AuditoryCreate(AuditoryBase): pass class AuditoryRead(AuditoryBase): id: int class Config: orm_mode = True # === Zametka === class ZametkaBase(BaseModel): txtzam: str rmdt: Optional[datetime] = None class ZametkaCreate(ZametkaBase): pass class ZametkaRead(ZametkaBase): id: int created_date: datetime class Config: orm_mode = True