chore: update py files

This commit is contained in:
retoor 2026-01-03 15:06:47 +01:00
parent 70544cf488
commit 82ea496f0d
3 changed files with 24 additions and 16 deletions

View File

@ -22,6 +22,14 @@
## Version 1.23.0 - 2026-01-03
update py files
**Changes:** 1 files, 30 lines
**Languages:** Python (30 lines)
## Version 1.22.0 - 2026-01-03 ## Version 1.22.0 - 2026-01-03

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "Snek" name = "Snek"
version = "1.22.0" version = "1.23.0"
readme = "README.md" readme = "README.md"
#license = { file = "LICENSE", content-type="text/markdown" } #license = { file = "LICENSE", content-type="text/markdown" }
description = "Snek Chat Application by Molodetz" description = "Snek Chat Application by Molodetz"

View File

@ -960,7 +960,7 @@ class RPCView(BaseView):
logger.warning(f"stars_render failed: {safe_str(ex)}") logger.warning(f"stars_render failed: {safe_str(ex)}")
return False return False
async def createChannel(self, name, description=None, is_private=False): async def create_channel(self, name, description=None, is_private=False):
self._require_login() self._require_login()
self._require_services() self._require_services()
if not name or not isinstance(name, str): if not name or not isinstance(name, str):
@ -993,7 +993,7 @@ class RPCView(BaseView):
logger.warning(f"Failed to create channel: {safe_str(ex)}") logger.warning(f"Failed to create channel: {safe_str(ex)}")
return {"error": safe_str(ex), "success": False} return {"error": safe_str(ex), "success": False}
async def inviteUser(self, channel_uid, username): async def invite_user(self, channel_uid, username):
self._require_login() self._require_login()
self._require_services() self._require_services()
if not channel_uid or not isinstance(channel_uid, str): if not channel_uid or not isinstance(channel_uid, str):
@ -1028,7 +1028,7 @@ class RPCView(BaseView):
logger.warning(f"Failed to invite user: {safe_str(ex)}") logger.warning(f"Failed to invite user: {safe_str(ex)}")
return {"error": "Failed to invite user", "success": False} return {"error": "Failed to invite user", "success": False}
async def leaveChannel(self, channel_uid): async def leave_channel(self, channel_uid):
self._require_login() self._require_login()
self._require_services() self._require_services()
if not channel_uid or not isinstance(channel_uid, str): if not channel_uid or not isinstance(channel_uid, str):
@ -1052,7 +1052,7 @@ class RPCView(BaseView):
logger.warning(f"Failed to leave channel: {safe_str(ex)}") logger.warning(f"Failed to leave channel: {safe_str(ex)}")
return {"error": "Failed to leave channel", "success": False} return {"error": "Failed to leave channel", "success": False}
async def updateChannel(self, channel_uid, name, description=None, is_private=False): async def update_channel(self, channel_uid, name, description=None, is_private=False):
self._require_login() self._require_login()
self._require_services() self._require_services()
if not channel_uid or not isinstance(channel_uid, str): if not channel_uid or not isinstance(channel_uid, str):
@ -1063,16 +1063,16 @@ class RPCView(BaseView):
if not name: if not name:
return {"error": "Channel name cannot be empty", "success": False} return {"error": "Channel name cannot be empty", "success": False}
try: try:
channel_member = await self.services.channel_member.get(
channel_uid=channel_uid, user_uid=self.user_uid
)
if not channel_member or not channel_member["is_moderator"]:
return {"error": "Only moderators can update channel settings", "success": False}
channel = await self.services.channel.get(uid=channel_uid) channel = await self.services.channel.get(uid=channel_uid)
if not channel: if not channel:
return {"error": "Channel not found", "success": False} return {"error": "Channel not found", "success": False}
if channel["tag"] == "public": if channel["tag"] == "public":
return {"error": "Cannot modify the public channel", "success": False} return {"error": "Cannot modify the public channel", "success": False}
is_creator = channel.get("created_by_uid") == self.user_uid
user = await self.services.user.get(uid=self.user_uid)
is_admin = user and user.get("is_admin", False)
if not is_creator and not is_admin:
return {"error": "Only the channel creator or admin can update channel settings", "success": False}
if not name.startswith("#") and channel["is_listed"]: if not name.startswith("#") and channel["is_listed"]:
name = f"#{name}" name = f"#{name}"
channel["label"] = name channel["label"] = name
@ -1089,22 +1089,22 @@ class RPCView(BaseView):
logger.warning(f"Failed to update channel: {safe_str(ex)}") logger.warning(f"Failed to update channel: {safe_str(ex)}")
return {"error": "Failed to update channel", "success": False} return {"error": "Failed to update channel", "success": False}
async def deleteChannel(self, channel_uid): async def delete_channel(self, channel_uid):
self._require_login() self._require_login()
self._require_services() self._require_services()
if not channel_uid or not isinstance(channel_uid, str): if not channel_uid or not isinstance(channel_uid, str):
return {"error": "Invalid channel", "success": False} return {"error": "Invalid channel", "success": False}
try: try:
channel_member = await self.services.channel_member.get(
channel_uid=channel_uid, user_uid=self.user_uid
)
if not channel_member or not channel_member["is_moderator"]:
return {"error": "Only moderators can delete channels", "success": False}
channel = await self.services.channel.get(uid=channel_uid) channel = await self.services.channel.get(uid=channel_uid)
if not channel: if not channel:
return {"error": "Channel not found", "success": False} return {"error": "Channel not found", "success": False}
if channel["tag"] == "public": if channel["tag"] == "public":
return {"error": "Cannot delete the public channel", "success": False} return {"error": "Cannot delete the public channel", "success": False}
is_creator = channel.get("created_by_uid") == self.user_uid
user = await self.services.user.get(uid=self.user_uid)
is_admin = user and user.get("is_admin", False)
if not is_creator and not is_admin:
return {"error": "Only the channel creator or admin can delete channels", "success": False}
channel["deleted_at"] = now() channel["deleted_at"] = now()
await self.services.channel.save(channel) await self.services.channel.save(channel)
async for member in self.services.channel_member.find( async for member in self.services.channel_member.find(