from datetime import datetime
from sqlalchemy import Column, Integer, String, Float, DateTime
from app.database import Base
from app.utils.timezone import jakarta_now, to_jakarta_iso

class TryOnSession(Base):
    __tablename__ = "tryon_sessions"
    
    id = Column(Integer, primary_key=True, index=True)
    device_id = Column(String, index=True, nullable=False)
    cloth_id = Column(Integer, nullable=True)
    cloth_name = Column(String, default="")
    duration_seconds = Column(Integer, default=0)
    avg_fps = Column(Float, default=30.0)
    created_at = Column(DateTime, default=jakarta_now)

    def to_dict(self):
        return {
            "id": self.id,
            "device_id": self.device_id,
            "cloth_id": self.cloth_id,
            "cloth_name": self.cloth_name,
            "duration_seconds": self.duration_seconds,
            "avg_fps": self.avg_fps,
            "created_at": to_jakarta_iso(self.created_at)
        }
