refac
This commit is contained in:
1 parent
de289eb1aa
commit
ce3c175e26
7 files changed
+109
-40
No files matched your search
@@ -36,7 +36,6 @@ from open_webui.models.access_grants import AccessGrants
|
||||
from open_webui.models.knowledge import Knowledges
|
||||
from open_webui.models.models import Models
|
||||
from open_webui.models.tools import Tools
|
||||
from open_webui.socket.main import disconnect_user_sessions
|
||||
from open_webui.utils.access_control import get_permissions, has_permission
|
||||
from open_webui.utils.auth import (
|
||||
get_admin_user,
|
||||
@@ -990,10 +989,19 @@ async def update_user_by_id(
|
||||
updated_user = user
|
||||
|
||||
if updated_user:
|
||||
# If the role changed, disconnect all socket sessions so stale
|
||||
# privileges cached in SESSION_POOL are invalidated.
|
||||
if updated_user.role != user.role:
|
||||
await disconnect_user_sessions(user_id)
|
||||
updated_fields = [field for field in update_data.keys() if field != 'role']
|
||||
role_changed = updated_user.role != user.role
|
||||
|
||||
if updated_fields:
|
||||
await publish_event(
|
||||
request,
|
||||
EVENTS.USER_UPDATED,
|
||||
actor=session_user,
|
||||
subject_id=user_id,
|
||||
data={'updated_fields': updated_fields},
|
||||
)
|
||||
|
||||
if role_changed:
|
||||
await publish_event(
|
||||
request,
|
||||
EVENTS.USER_ROLE_UPDATED,
|
||||
@@ -1001,14 +1009,7 @@ async def update_user_by_id(
|
||||
subject_id=user_id,
|
||||
data={'role': updated_user.role},
|
||||
)
|
||||
else:
|
||||
await publish_event(
|
||||
request,
|
||||
EVENTS.USER_UPDATED,
|
||||
actor=session_user,
|
||||
subject_id=user_id,
|
||||
data={'updated_fields': list(update_data.keys())},
|
||||
)
|
||||
|
||||
if form_data.password:
|
||||
await publish_event(
|
||||
request,
|
||||
@@ -1061,7 +1062,6 @@ async def delete_user_by_id(
|
||||
result = await Auths.delete_auth_by_id(user_id, db=db)
|
||||
|
||||
if result:
|
||||
await disconnect_user_sessions(user_id)
|
||||
await publish_event(
|
||||
request,
|
||||
EVENTS.USER_DELETED,
|
||||
|
||||
Reference in new issue
Block a user