This commit is contained in:
2024-08-10 18:34:09 +02:00
parent 029a0bbd8b
commit 289ed75655

View File

@@ -2,7 +2,7 @@ from typing import Self
from datetime import datetime, timedelta
from httpx import AsyncClient
from pydantic import BaseModel
from pydantic import BaseModel, field_serializer
from config import config
@@ -15,6 +15,10 @@ class RecurrenceRule(BaseModel):
interval: int
frequency: int
@field_serializer("start")
def serialize_datetime(cls, value: datetime) -> str:
return value.isoformat()
def next_date(self, start: datetime) -> datetime:
next_date = start
@@ -77,6 +81,10 @@ class CreateDiscordEvent(BaseModel):
scheduled_end_time: datetime
recurrence_rule: RecurrenceRule | None
@field_serializer("scheduled_start_time", "scheduled_end_time")
def serialize_datetime(cls, value: datetime) -> str:
return value.isoformat()
@classmethod
def parse_from_twitch_event(cls, event: TwitchEvent) -> Self:
if event.categories:
@@ -126,6 +134,10 @@ class UpdateDiscordEvent(BaseModel):
scheduled_end_time: datetime
recurrence_rule: RecurrenceRule | None
@field_serializer("scheduled_start_time", "scheduled_end_time")
def serialize_datetime(cls, value: datetime) -> str:
return value.isoformat()
async def edit_discord_event(event_id: str, event: UpdateDiscordEvent):
async with AsyncClient() as client: