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

class RefreshToken(Base):
    __tablename__ = "refresh_tokens"
    id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
    user_id = Column(String(36), ForeignKey("users.id"), nullable=False)
    token_hash = Column(String(255), nullable=False)
    expires_at = Column(DateTime, nullable=False)
    revoked_at = Column(DateTime, nullable=True)
    user_agent = Column(String(255))
    ip_address = Column(String(45))
    created_at = Column(DateTime, server_default=func.now())
