from typing import Optional

from sqlalchemy import Identity
from sqlalchemy.orm import Mapped, mapped_column

from db.models.base import Base


class ExperimentData(Base):
    __tablename__ = 'experiment_data'

    id: Mapped[int] = mapped_column(Identity(start=21, cycle=True),
                                    primary_key=True)
    direction: Mapped[float]
    temperature: Mapped[float]
    nox: Mapped[float]
    co2: Mapped[float]
    co: Mapped[float]
    file_id: Mapped[Optional[str]]

    def __repr__(self):
        return f"<ExperimentData>"