Spaces:
Sleeping
Sleeping
from typing import List | |
from sqlalchemy import DateTime, ForeignKey, Index, String, text | |
from sqlalchemy.orm import Mapped, mapped_column, relationship | |
from reworkd_platform.db.base import Base | |
class UserSession(Base): | |
__tablename__ = "Session" | |
session_token = mapped_column(String, unique=True, name="sessionToken") | |
user_id = mapped_column( | |
String, ForeignKey("User.id", ondelete="CASCADE"), name="userId" | |
) | |
expires = mapped_column(DateTime) | |
user = relationship("User") | |
__table_args__ = (Index("user_id"),) | |
class User(Base): | |
__tablename__ = "User" | |
name = mapped_column(String, nullable=True) | |
email = mapped_column(String, nullable=True, unique=True) | |
email_verified = mapped_column(DateTime, nullable=True, name="emailVerified") | |
image = mapped_column(String, nullable=True) | |
create_date = mapped_column( | |
DateTime, server_default=text("(now())"), name="createDate" | |
) | |
sessions: Mapped[List["UserSession"]] = relationship( | |
"UserSession", back_populates="user" | |
) | |
__table_args__ = (Index("email"),) | |