3M/cef_3M/sql_generated.py
CEF Server ba2e896813 add authentication
add built-in cleanup
general refactor
2024-07-29 03:26:14 +00:00

41 lines
1.6 KiB
Python

from typing import Optional
from sqlalchemy import CHAR, Index, String, TIMESTAMP, text
from sqlalchemy.dialects.mysql import INTEGER, TINYINT
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
import datetime
class Base(DeclarativeBase):
pass
class AlertEndpoints(Base):
__tablename__ = 'alert_endpoints'
__table_args__ = (
Index('ix_alert_endpoints_username', 'username'),
Index('url', 'url', unique=True)
)
id: Mapped[int] = mapped_column(INTEGER(11), primary_key=True)
username: Mapped[Optional[str]] = mapped_column(String(64))
url: Mapped[Optional[str]] = mapped_column(String(2048))
auth: Mapped[Optional[str]] = mapped_column(String(2048))
p256dh: Mapped[Optional[str]] = mapped_column(String(2048))
created_at: Mapped[Optional[datetime.datetime]] = mapped_column(TIMESTAMP, server_default=text('current_timestamp()'))
class Uploads(Base):
__tablename__ = 'uploads'
hash: Mapped[str] = mapped_column(CHAR(64), primary_key=True)
expiry: Mapped[Optional[datetime.datetime]] = mapped_column(TIMESTAMP, server_default=text('(current_timestamp()'))
class Users(Base):
__tablename__ = 'users'
username: Mapped[str] = mapped_column(String(64), primary_key=True)
password: Mapped[str] = mapped_column(String(128))
created_at: Mapped[Optional[datetime.datetime]] = mapped_column(TIMESTAMP, server_default=text('current_timestamp()'))
temporary: Mapped[Optional[int]] = mapped_column(TINYINT(1), server_default=text('1'))
invite_code: Mapped[Optional[str]] = mapped_column(String(32))