53 lines
2.5 KiB
Python
53 lines
2.5 KiB
Python
import datetime
|
|
from typing import Optional
|
|
|
|
from sqlalchemy import func, String
|
|
from sqlalchemy.orm import Mapped
|
|
from sqlalchemy.orm import mapped_column
|
|
from database.base import Base
|
|
|
|
|
|
class User(Base):
|
|
__tablename__ = "user_table"
|
|
id: Mapped[int] = mapped_column(primary_key=True)
|
|
userid: Mapped[str] = mapped_column(String(100), unique=True, nullable=False)
|
|
password: Mapped[str] = mapped_column(String(255), nullable=False)
|
|
easyconnect_password: Mapped[str] = mapped_column(String(255), nullable=False)
|
|
create_date: Mapped[datetime.datetime] = mapped_column(server_default=func.now())
|
|
|
|
|
|
class UserProfile(Base):
|
|
__tablename__ = "user_profile_table"
|
|
id: Mapped[int] = mapped_column(primary_key=True)
|
|
userid: Mapped[str] = mapped_column(String(100), unique=True, nullable=False)
|
|
avatar_filename: Mapped[Optional[str]] = mapped_column(String(255), nullable=True, comment="用户头像文件名")
|
|
background_filename: Mapped[Optional[str]] = mapped_column(String(255), nullable=True, comment="用户背景文件名")
|
|
nickname: Mapped[Optional[str]] = mapped_column(String(100), nullable=True, comment="用户昵称")
|
|
settings_filename: Mapped[Optional[str]] = mapped_column(String(255), nullable=True, comment="用户设置文件名")
|
|
create_date: Mapped[datetime.datetime] = mapped_column(server_default=func.now())
|
|
update_date: Mapped[datetime.datetime] = mapped_column(server_default=func.now(), onupdate=func.now())
|
|
|
|
|
|
class Invite(Base):
|
|
__tablename__ = "invite_table"
|
|
id: Mapped[int] = mapped_column(primary_key=True)
|
|
invite_code: Mapped[str] = mapped_column(String(50), unique=True, nullable=False)
|
|
create_date: Mapped[datetime.datetime] = mapped_column(server_default=func.now())
|
|
|
|
|
|
class AuthME(Base):
|
|
__tablename__ = "authme_table"
|
|
id: Mapped[int] = mapped_column(primary_key=True)
|
|
userid: Mapped[str] = mapped_column(String(100), nullable=False, index=True)
|
|
authme_token: Mapped[str] = mapped_column(String(500), unique=True, nullable=False)
|
|
device_id: Mapped[str] = mapped_column(String(100), nullable=False, comment="设备/会话标识符")
|
|
create_date: Mapped[datetime.datetime] = mapped_column(server_default=func.now())
|
|
|
|
|
|
class AACTicket(Base):
|
|
__tablename__ = "aac_ticket_table"
|
|
id: Mapped[int] = mapped_column(primary_key=True)
|
|
userid: Mapped[str] = mapped_column(String(100), unique=True, nullable=False)
|
|
aac_token: Mapped[str] = mapped_column(String(500), nullable=False)
|
|
create_date: Mapped[datetime.datetime] = mapped_column(server_default=func.now())
|