25 lines
711 B
Python
25 lines
711 B
Python
from enum import Enum as VanillaEnum
|
|
from sqlalchemy import INTEGER, BIGINT, Enum
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
|
|
from db.base import Base
|
|
|
|
|
|
class TicketStatus(VanillaEnum):
|
|
OPEN = "OPEN"
|
|
CLOSED = "CLOSED"
|
|
PENDING = "PENDING"
|
|
|
|
|
|
class Ticket(Base):
|
|
__tablename__ = "tickets"
|
|
|
|
id: Mapped[int] = mapped_column(
|
|
INTEGER, autoincrement=True, unique=True, nullable=False, primary_key=True
|
|
)
|
|
creator_id: Mapped[int] = mapped_column(BIGINT, nullable=False)
|
|
status: Mapped[TicketStatus] = mapped_column(
|
|
Enum(TicketStatus), nullable=False, default=TicketStatus.PENDING
|
|
)
|
|
thread_id: Mapped[int] = mapped_column(BIGINT, nullable=True, unique=True)
|