Channel check.

This commit is contained in:
retoor 2025-03-02 14:49:38 +01:00
parent 66b85d146a
commit 4620ebb800
2 changed files with 7 additions and 0 deletions

View File

@ -9,3 +9,4 @@ class ChannelModel(BaseModel):
is_private = ModelField(name="is_private", required=True, kind=bool, value=False)
is_listed = ModelField(name="is_listed", required=True, kind=bool, value=True)
index = ModelField(name="index", required=True, kind=int, value=1000)
last_message_on = ModelField(name="last_message_on", required=False, kind=str)

View File

@ -1,12 +1,16 @@
from snek.system.model import now
from snek.system.service import BaseService
class ChatService(BaseService):
async def send(self,user_uid, channel_uid, message):
channel = await self.services.channel.get(uid=channel_uid)
if not channel:
raise Exception("Channel not found.")
channel_message = await self.services.channel_message.create(
channel_uid,
user_uid,
@ -28,4 +32,6 @@ class ChatService(BaseService):
uid=channel_message['uid'],
user_nick=user['nick']
))
channel['last_message_on'] = now()
await self.services.channel.save(channel)
return sent_to_count