33import base64
44import io
55
6-
76from fastapi import APIRouter , Depends , HTTPException , Request , status
87from fastapi .responses import Response , StreamingResponse , FileResponse
98from pydantic import BaseModel
109
11-
1210from open_webui .models .auths import Auths
1311from open_webui .models .oauth_sessions import OAuthSessions
1412
2523 UserUpdateForm ,
2624)
2725
28-
2926from open_webui .socket .main import (
3027 get_active_status_by_user_id ,
3128 get_active_user_ids ,
3431from open_webui .constants import ERROR_MESSAGES
3532from open_webui .env import SRC_LOG_LEVELS , STATIC_DIR
3633
37-
3834from open_webui .utils .auth import get_admin_user , get_password_hash , get_verified_user
3935from open_webui .utils .access_control import get_permissions , has_permission
4036
41-
4237log = logging .getLogger (__name__ )
4338log .setLevel (SRC_LOG_LEVELS ["MODELS" ])
4439
5247
5348@router .get ("/active" )
5449async def get_active_users (
55- user = Depends (get_verified_user ),
50+ user = Depends (get_verified_user ),
5651):
5752 """
5853 Get a list of active users.
@@ -72,11 +67,11 @@ async def get_active_users(
7267
7368@router .get ("/" , response_model = UserListResponse )
7469async def get_users (
75- query : Optional [str ] = None ,
76- order_by : Optional [str ] = None ,
77- direction : Optional [str ] = None ,
78- page : Optional [int ] = 1 ,
79- user = Depends (get_admin_user ),
70+ query : Optional [str ] = None ,
71+ order_by : Optional [str ] = None ,
72+ direction : Optional [str ] = None ,
73+ page : Optional [int ] = 1 ,
74+ user = Depends (get_admin_user ),
8075):
8176 limit = PAGE_ITEM_COUNT
8277
@@ -96,15 +91,15 @@ async def get_users(
9691
9792@router .get ("/all" , response_model = UserInfoListResponse )
9893async def get_all_users (
99- user = Depends (get_admin_user ),
94+ user = Depends (get_admin_user ),
10095):
10196 return Users .get_users ()
10297
10398
10499@router .get ("/search" , response_model = UserIdNameListResponse )
105100async def search_users (
106- query : Optional [str ] = None ,
107- user = Depends (get_verified_user ),
101+ query : Optional [str ] = None ,
102+ user = Depends (get_verified_user ),
108103):
109104 limit = PAGE_ITEM_COUNT
110105
@@ -135,11 +130,12 @@ async def get_user_groups(user=Depends(get_verified_user)):
135130
136131@router .get ("/permissions" )
137132async def get_user_permissisions (request : Request , user = Depends (get_verified_user )):
138- user_permissions = get_permissions (
139- user .id , request .app .state .config .USER_PERMISSIONS
140- )
141-
142- return user_permissions
133+ # user_permissions = get_permissions(
134+ # user.id, request.app.state.config.USER_PERMISSIONS
135+ # )
136+ #
137+ # return user_permissions
138+ return request .app .state .config .USER_PERMISSIONS
143139
144140
145141############################
@@ -217,7 +213,7 @@ async def get_default_user_permissions(request: Request, user=Depends(get_admin_
217213
218214@router .post ("/default/permissions" )
219215async def update_default_user_permissions (
220- request : Request , form_data : UserPermissions , user = Depends (get_admin_user )
216+ request : Request , form_data : UserPermissions , user = Depends (get_admin_user )
221217):
222218 request .app .state .config .USER_PERMISSIONS = form_data .model_dump ()
223219 return request .app .state .config .USER_PERMISSIONS
@@ -247,17 +243,17 @@ async def get_user_settings_by_session_user(user=Depends(get_verified_user)):
247243
248244@router .post ("/user/settings/update" , response_model = UserSettings )
249245async def update_user_settings_by_session_user (
250- request : Request , form_data : UserSettings , user = Depends (get_verified_user )
246+ request : Request , form_data : UserSettings , user = Depends (get_verified_user )
251247):
252248 updated_user_settings = form_data .model_dump ()
253249 if (
254- user .role != "admin"
255- and "toolServers" in updated_user_settings .get ("ui" ).keys ()
256- and not has_permission (
257- user .id ,
258- "features.direct_tool_servers" ,
259- request .app .state .config .USER_PERMISSIONS ,
260- )
250+ user .role != "admin"
251+ and "toolServers" in updated_user_settings .get ("ui" ).keys ()
252+ and not has_permission (
253+ user .id ,
254+ "features.direct_tool_servers" ,
255+ request .app .state .config .USER_PERMISSIONS ,
256+ )
261257 ):
262258 # If the user is not an admin and does not have permission to use tool servers, remove the key
263259 updated_user_settings ["ui" ].pop ("toolServers" , None )
@@ -296,7 +292,7 @@ async def get_user_info_by_session_user(user=Depends(get_verified_user)):
296292
297293@router .post ("/user/info/update" , response_model = Optional [dict ])
298294async def update_user_info_by_session_user (
299- form_data : dict , user = Depends (get_verified_user )
295+ form_data : dict , user = Depends (get_verified_user )
300296):
301297 user = Users .get_user_by_id (user .id )
302298 if user :
@@ -429,9 +425,9 @@ async def get_user_active_status_by_id(user_id: str, user=Depends(get_verified_u
429425
430426@router .post ("/{user_id}/update" , response_model = Optional [UserModel ])
431427async def update_user_by_id (
432- user_id : str ,
433- form_data : UserUpdateForm ,
434- session_user = Depends (get_admin_user ),
428+ user_id : str ,
429+ form_data : UserUpdateForm ,
430+ session_user = Depends (get_admin_user ),
435431):
436432 # Prevent modification of the primary admin user by other admins
437433 try :
0 commit comments