from db.base import Base
from sqlalchemy import Column, String, Integer, DateTime, func, ForeignKey
import uuid

class UsageEvent(Base):
    __tablename__ = "usage_events"
    id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
    request_id = Column(String(36), unique=True, nullable=False)
    user_id = Column(String(36), ForeignKey("users.id"), nullable=False)
    api_key_id = Column(String(36), ForeignKey("api_keys.id"))
    model_id = Column(String(50))
    model_type = Column(String(20))
    input_tokens = Column(Integer, default=0)
    output_tokens = Column(Integer, default=0)
    total_tokens = Column(Integer, default=0)
    units_used = Column(Integer, default=0)
    amount_paise = Column(Integer, default=0)
    status = Column(String(20))
    error_code = Column(String(50))
    latency_ms = Column(Integer)
    created_at = Column(DateTime, server_default=func.now())
