chore: update py files
This commit is contained in:
parent
70544cf488
commit
82ea496f0d
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user