mirror of
https://github.com/trushildhokiya/allininx-2.git
synced 2025-03-15 18:48:40 +00:00
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
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"),)
|