feat(auth): add remember me option with persistent DB sessions

This commit is contained in:
2026-07-05 21:28:58 +08:00
parent 2bd914532e
commit 9692ff8ade
4 changed files with 60 additions and 21 deletions

View File

@@ -21,6 +21,18 @@ class User(Base):
api_keys = relationship("ApiKey", back_populates="user", cascade="all, delete-orphan")
profiles = relationship("Profile", back_populates="user", cascade="all, delete-orphan")
sessions = relationship("UserSession", back_populates="user", cascade="all, delete-orphan")
class UserSession(Base):
__tablename__ = "user_sessions"
token = Column(String(64), primary_key=True)
user_id = Column(Integer, ForeignKey("users.id", ondelete="CASCADE"), nullable=False)
created_at = Column(DateTime, default=_utcnow)
expires_at = Column(DateTime, nullable=True)
user = relationship("User", back_populates="sessions")
class ApiKey(Base):