from typing import Optional
from pydantic import BaseModel


class CreateVehicle(BaseModel):
    Id: int
    Model: str
    Year: int
    LicensePlate: str
    Type: str
    Mileage: int


class OutputVehicle(BaseModel):
    Id: int
    Model: str
    Year: int
    LicensePlate: str
    Type: str
    Mileage: int
    CurrentLocation: Optional[list[str]] = None
    Fuel: Optional[int] = 0
    MaintenanceNotes: Optional[list[str]] = None
    AssignedDriverIds: Optional[list[int]] = None


class UpdateVehicle(BaseModel):
    Model: str
    Year: int
    LicensePlate: str
    Type: str
    Mileage: int
    CurrentLocation: Optional[list[str]] = None
    Fuel: Optional[int] = 0
    MaintenanceNotes: Optional[list[str]] = None
    AssignedDriverIds: Optional[list[int]] = None