diff --git a/migrations.py b/migrations.py index 9ed982b..357c3ed 100644 --- a/migrations.py +++ b/migrations.py @@ -191,3 +191,14 @@ async def m007_add_extra_fields(db): # Add 'extra' column to ticket table await db.execute("ALTER TABLE events.ticket ADD COLUMN extra TEXT;") + + +async def m008_add_event_status(db): + """ + Add status column to events table for proposal/approval workflow. + Values: 'proposed', 'approved', 'rejected'. + Default 'approved' for backward compatibility with existing events. + """ + await db.execute( + "ALTER TABLE events.events ADD COLUMN status TEXT NOT NULL DEFAULT 'approved';" + ) diff --git a/models.py b/models.py index b05a5da..78917d4 100644 --- a/models.py +++ b/models.py @@ -39,6 +39,7 @@ class CreateEvent(BaseModel): price_per_ticket: float = Query(..., ge=0) banner: Optional[str] = None extra: EventExtra = Field(default_factory=EventExtra) + status: str = "approved" # proposed, approved, rejected class CreateTicket(BaseModel): @@ -78,6 +79,7 @@ class Event(BaseModel): sold: int = 0 banner: str | None = None extra: EventExtra = Field(default_factory=EventExtra) + status: str = "approved" # proposed, approved, rejected class TicketExtra(BaseModel):