mai2: add event editing for sysops

This commit is contained in:
2024-07-01 18:26:39 -04:00
parent 44fb6037cf
commit 9b5283d389
6 changed files with 315 additions and 11 deletions

View File

@ -7,6 +7,7 @@ from sqlalchemy.schema import ForeignKey
from sqlalchemy.sql import func, select
from sqlalchemy.engine import Row
from sqlalchemy.dialects.mysql import insert
from datetime import datetime
event = Table(
"mai2_static_event",
@ -248,3 +249,18 @@ class Mai2StaticData(BaseData):
if result is None:
return None
return result.fetchall()
async def get_event_by_id(self, table_id: int) -> Optional[Row]:
result = await self.execute(event.select(event.c.id == table_id))
if result:
return result.fetchone()
async def get_events_by_event_id(self, event_id: int) -> Optional[List[Row]]:
result = await self.execute(event.select(event.c.eventId == event_id))
if result:
return result.fetchall()
async def update_event_by_id(self, table_id: int, is_enable: bool, start_date: datetime) -> None:
result = await self.execute(event.update(event.c.id == table_id).values(enabled=is_enable, startDate = start_date))
if not result:
self.logger.error(f"Failed to update event {table_id} - {is_enable} {start_date}")