27 lines
932 B
Python
27 lines
932 B
Python
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 |