Improved update & add logic #410

This commit is contained in:
2023-11-18 23:10:28 +01:00
parent 74dba4b981
commit 171aa63df9
10 changed files with 91 additions and 42 deletions

View File

@@ -168,7 +168,7 @@ class ScheduledEvent(TableABC):
UPDATE `ScheduledEvents`
SET `Interval` = '{self._interval.value}',
`Name` = '{self._name}',
`Description` = '{self._start_time}',
`Description` = {"NULL" if self._description is None else f"'{self._description}'"},
`ChannelId` = {"NULL" if self._channel_id is None else f"'{self._channel_id}'"},
`StartTime` = '{self._start_time}',
`EndTime` = {"NULL" if self._end_time is None else f"'{self._end_time}'"},

View File

@@ -69,13 +69,22 @@ class ScheduledEventMutation(QueryABC):
scheduled_event = self._scheduled_events.get_scheduled_event_by_id(input["id"])
self._can_user_mutate_data(scheduled_event.server, UserRoleEnum.moderator)
scheduled_event.short_name = input["shortName"] if "shortName" in input else scheduled_event.short_name
scheduled_event.interval = input["interval"] if "interval" in input else scheduled_event.interval
scheduled_event.interval = (
ScheduledEventIntervalEnum(input["interval"]) if "interval" in input else scheduled_event.interval
)
scheduled_event.name = input["name"] if "name" in input else scheduled_event.name
scheduled_event.description = input["description"] if "description" in input else scheduled_event.description
scheduled_event.channel_id = input["channelId"] if "channelId" in input else scheduled_event.channel_id
scheduled_event.start_time = input["startTime"] if "startTime" in input else scheduled_event.start_time
scheduled_event.end_time = input["endTime"] if "endTime" in input else scheduled_event.end_time
scheduled_event.start_time = (
datetime.strptime(input["startTime"], "%Y-%m-%dT%H:%M:%S.%fZ")
if "startTime" in input
else scheduled_event.start_time
)
scheduled_event.end_time = (
datetime.strptime(input["endTime"], "%Y-%m-%dT%H:%M:%S.%fZ")
if "endTime" in input
else scheduled_event.end_time
)
scheduled_event.entity_type = input["entityType"] if "entityType" in input else scheduled_event.entity_type
scheduled_event.location = input["location"] if "location" in input else scheduled_event.location

View File

@@ -13,7 +13,7 @@ class ScheduledEventHistoryQuery(DataQueryWithHistoryABC):
self.set_field("id", lambda x, *_: x.id)
self.set_field("id", lambda x, *_: x.id)
self.set_field("interval", lambda x, *_: x.interval)
self.set_field("interval", lambda x, *_: x.interval.value)
self.set_field("name", lambda x, *_: x.name)
self.set_field("description", lambda x, *_: x.description)
self.set_field("channel_id", lambda x, *_: x.channel_id)

View File

@@ -12,7 +12,7 @@ class ScheduledEventQuery(DataQueryWithHistoryABC):
DataQueryWithHistoryABC.__init__(self, "ScheduledEvent", "ScheduledEventsHistory", ScheduledEventHistory, db)
self.set_field("id", lambda x, *_: x.id)
self.set_field("interval", lambda x, *_: x.interval)
self.set_field("interval", lambda x, *_: x.interval.value)
self.set_field("name", lambda x, *_: x.name)
self.set_field("description", lambda x, *_: x.description)
self.set_field("channelId", lambda x, *_: x.channel_id)