from sqlalchemy import Boolean, Column, Float, Integer, String, Enum
import enum
from database import Base

class EngineType(enum.Enum):
    PETROL = "бензиновый"
    DIESEL = "дизельный"
    ELECTRIC = "электрический"

class HybridType(enum.Enum):
    NONE = "не гибрид"
    HYBRID = "электрогибрид"
    PHEV = "электрогибрид(PHEV)"

class PowerRatio(enum.Enum):
    ICE_GREATER = "ДВС > ЭД"
    ELECTRIC_GREATER = "ЭД > ДВС"
    NA = "не применимо"

class Car(Base):
    __tablename__ = "cars"

    id = Column(Integer, primary_key=True, index=True)
    image = Column(String, nullable=True)  # путь к изображению или URL
    name = Column(String, index=True)
    price = Column(Float)
    base_price = Column(Float)  # цена без калькулирования
    country_of_origin = Column(String)
    year = Column(Integer)
    drive_type = Column(String)  # привод
    mileage = Column(Integer, nullable=True)  # пробег
    engine_capacity = Column(Float, nullable=True)  # объем двигателя
    engine_power = Column(Integer, nullable=True)  # мощность ДВС
    engine_type = Column(Enum(EngineType))  # тип двигателя
    electric_motor_power = Column(Integer, nullable=True)  # мощность электродвигателя
    hybrid_type = Column(Enum(HybridType), default=HybridType.NONE)  # тип гибрида
    power_ratio = Column(Enum(PowerRatio), default=PowerRatio.NA)  # соотношение мощности 
