from typing import Optional
from pydantic import BaseModel
from schemas.user import ShowDriverNoVehicle


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


class OutputVehicle(BaseModel):
    Id: int
    Model: str
    Year: int
    LicensePlate: str
    Mileage: int
    CurrentLocation: Optional[list[str]] = None
    Fuel: Optional[int] = 0
    Type: str
    DriverHistory: Optional[list[int]] = None
    AssignedDriver: Optional[ShowDriverNoVehicle] = None
    Capacity: int
    Status: str


class UpdateVehicle(BaseModel):
    Mileage: int 
    Status: str 
    


class VehicleLocation(BaseModel):
    CurrentLocation: list[str]