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), )