from pydantic import BaseModel, Field, field_validator from typing import Optional from uuid import UUID from datetime import datetime class AssetCreate(BaseModel): catalog_id: int = Field(..., description="A kiválasztott katalógus elem ID-ja") vin: str = Field(..., min_length=17, max_length=17, description="17 karakteres alvázszám") license_plate: str = Field(..., min_length=1, max_length=20) name: Optional[str] = Field(None, description="Egyedi elnevezés (pl. 'Céges furgon')") organization_id: int = Field(..., description="Melyik flottába kerüljön") # Opcionális: Kezdő km óra állás, szín, stb. később bővíthető class AssetResponse(BaseModel): id: UUID uai: str catalog_id: int organization_id: int name: str asset_type: str current_plate_number: str status: str created_at: datetime class Config: from_attributes = True