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