feat: add status field to Event model for approval workflow
Add 'status' column (proposed/approved/rejected) to the events table with default 'approved' for backward compatibility. Existing events are unaffected. Migration m008 adds the column. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
68e6e3d02e
commit
1dcff37df5
2 changed files with 13 additions and 0 deletions
|
|
@ -191,3 +191,14 @@ async def m007_add_extra_fields(db):
|
||||||
|
|
||||||
# Add 'extra' column to ticket table
|
# Add 'extra' column to ticket table
|
||||||
await db.execute("ALTER TABLE events.ticket ADD COLUMN extra TEXT;")
|
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';"
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ class CreateEvent(BaseModel):
|
||||||
price_per_ticket: float = Query(..., ge=0)
|
price_per_ticket: float = Query(..., ge=0)
|
||||||
banner: Optional[str] = None
|
banner: Optional[str] = None
|
||||||
extra: EventExtra = Field(default_factory=EventExtra)
|
extra: EventExtra = Field(default_factory=EventExtra)
|
||||||
|
status: str = "approved" # proposed, approved, rejected
|
||||||
|
|
||||||
|
|
||||||
class CreateTicket(BaseModel):
|
class CreateTicket(BaseModel):
|
||||||
|
|
@ -78,6 +79,7 @@ class Event(BaseModel):
|
||||||
sold: int = 0
|
sold: int = 0
|
||||||
banner: str | None = None
|
banner: str | None = None
|
||||||
extra: EventExtra = Field(default_factory=EventExtra)
|
extra: EventExtra = Field(default_factory=EventExtra)
|
||||||
|
status: str = "approved" # proposed, approved, rejected
|
||||||
|
|
||||||
|
|
||||||
class TicketExtra(BaseModel):
|
class TicketExtra(BaseModel):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue