mirror of
https://github.com/open-webui/open-webui
synced 2024-12-28 06:42:47 +00:00
refac
This commit is contained in:
parent
34cc472c48
commit
2e5c2bc4c2
@ -7,7 +7,7 @@ from fastapi import APIRouter, Depends, HTTPException, Request, status, Backgrou
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
from open_webui.socket.main import sio, SESSION_POOL
|
||||
from open_webui.socket.main import sio, get_user_ids_from_room
|
||||
from open_webui.models.users import Users, UserNameResponse
|
||||
|
||||
from open_webui.models.channels import Channels, ChannelModel, ChannelForm
|
||||
@ -182,8 +182,6 @@ async def get_channel_messages(
|
||||
|
||||
|
||||
async def send_notification(channel, message, active_user_ids):
|
||||
|
||||
print(f"Sending notification to {channel=}, {message=}, {active_user_ids=}")
|
||||
users = get_users_with_access("read", channel.access_control)
|
||||
|
||||
for user in users:
|
||||
@ -252,19 +250,7 @@ async def post_new_message(
|
||||
to=f"channel:{channel.id}",
|
||||
)
|
||||
|
||||
active_session_ids = sio.manager.get_participants(
|
||||
namespace="/",
|
||||
room=f"channel:{channel.id}",
|
||||
)
|
||||
|
||||
active_user_ids = list(
|
||||
set(
|
||||
[
|
||||
SESSION_POOL.get(session_id[0])
|
||||
for session_id in active_session_ids
|
||||
]
|
||||
)
|
||||
)
|
||||
active_user_ids = get_user_ids_from_room(f"channel:{channel.id}")
|
||||
|
||||
background_tasks.add_task(
|
||||
send_notification, channel, message, active_user_ids
|
||||
|
@ -289,3 +289,15 @@ def get_event_call(request_info):
|
||||
|
||||
def get_user_id_from_session_pool(sid):
|
||||
return SESSION_POOL.get(sid)
|
||||
|
||||
|
||||
def get_user_ids_from_room(room):
|
||||
active_session_ids = sio.manager.get_participants(
|
||||
namespace="/",
|
||||
room=room,
|
||||
)
|
||||
|
||||
active_user_ids = list(
|
||||
set([SESSION_POOL.get(session_id[0]) for session_id in active_session_ids])
|
||||
)
|
||||
return active_user_ids
|
||||
|
Loading…
Reference in New Issue
Block a user