feat(auth): add remember me option with persistent DB sessions
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user