andrei dc47e4b003 feat: auth Добавлена поддержка сессий пользователей
Добавлена функциональность управления сессиями пользователей, включая создание сессий при входе, получение списка активных сессий, деактивацию отдельных сессий и деактивацию всех сессий пользователя.
2025-07-03 09:16:19 +05:00

21 lines
777 B
Python

from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean
from sqlalchemy.orm import relationship
from datetime import datetime
from app.domain.models.base import BaseModel
from app.settings import settings
class Session(BaseModel):
__tablename__ = 'sessions'
__table_args__ = {"schema": settings.SCHEMA}
token = Column(String, nullable=False, unique=True)
device_info = Column(String, nullable=True)
created_at = Column(DateTime, nullable=False, default=datetime.utcnow)
expires_at = Column(DateTime, nullable=False)
is_active = Column(Boolean, default=True, nullable=False)
user_id = Column(Integer, ForeignKey(f'{settings.SCHEMA}.users.id'), nullable=False)
user = relationship("User", back_populates="sessions")