Zulip auto post

This commit is contained in:
2024-08-26 17:44:23 +02:00
parent c76d2ba1c6
commit c2595b616b
9 changed files with 373 additions and 45 deletions

View File

@@ -68,6 +68,9 @@ class RoomController:
self,
name: str,
user_id: str,
zulip_auto_post: bool,
zulip_stream: str,
zulip_topic: str,
):
"""
Add a new room
@@ -75,11 +78,24 @@ class RoomController:
room = Room(
name=name,
user_id=user_id,
zulip_auto_post=zulip_auto_post,
zulip_stream=zulip_stream,
zulip_topic=zulip_topic,
)
query = rooms.insert().values(**room.model_dump())
await database.execute(query)
return room
async def update(self, room: Room, values: dict, mutate=True):
"""
Update a room fields with key/values in values
"""
query = rooms.update().where(rooms.c.id == room.id).values(**values)
await database.execute(query)
if mutate:
for key, value in values.items():
setattr(room, key, value)
async def get_by_id(self, room_id: str, **kwargs) -> Room | None:
"""
Get a room by id