33 lines
975 B
Python
33 lines
975 B
Python
import enum
|
|
|
|
from sqlalchemy import Column, DateTime, Enum as SQLAEnum, ForeignKey, JSON, String, Table
|
|
from sqlalchemy.sql import func
|
|
|
|
from orm import metadata
|
|
from orm.sql_types import UnsignedInt
|
|
|
|
|
|
class EventState(enum.StrEnum):
|
|
AUTO = "AUTO"
|
|
DESCRIPTED = "DESCRIPTED"
|
|
|
|
|
|
class EventStatus(enum.StrEnum):
|
|
ACTIVE = "ACTIVE"
|
|
DISABLED = "DISABLED"
|
|
DELETED = "DELETED"
|
|
|
|
|
|
list_events_table = Table(
|
|
"list_events",
|
|
metadata,
|
|
Column("id", UnsignedInt, primary_key=True, autoincrement=True),
|
|
Column("name", String(40, collation="latin1_bin"), nullable=False, unique=True),
|
|
Column("title", String(64), nullable=False),
|
|
Column("creator_id", UnsignedInt, ForeignKey("account.id"), nullable=False),
|
|
Column("created_at", DateTime(timezone=True), server_default=func.now()),
|
|
Column("schema", JSON, default={}),
|
|
Column("state", SQLAEnum(EventState), nullable=False),
|
|
Column("status", SQLAEnum(EventStatus), nullable=False),
|
|
)
|