Skip to content

Commit 1fbf70e

Browse files
committed
perf: User settings
1 parent 9312618 commit 1fbf70e

30 files changed

Lines changed: 153 additions & 117 deletions

backend/open_webui/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1432,7 +1432,7 @@ def feishu_oauth_register(oauth: OAuth):
14321432
ENABLE_EVALUATION_ARENA_MODELS = PersistentConfig(
14331433
"ENABLE_EVALUATION_ARENA_MODELS",
14341434
"evaluation.arena.enable",
1435-
os.environ.get("ENABLE_EVALUATION_ARENA_MODELS", "True").lower() == "false",
1435+
os.environ.get("ENABLE_EVALUATION_ARENA_MODELS", "False").lower() == "true",
14361436
)
14371437
EVALUATION_ARENA_MODELS = PersistentConfig(
14381438
"EVALUATION_ARENA_MODELS",
@@ -1475,7 +1475,7 @@ def feishu_oauth_register(oauth: OAuth):
14751475
ENABLE_COMMUNITY_SHARING = PersistentConfig(
14761476
"ENABLE_COMMUNITY_SHARING",
14771477
"ui.enable_community_sharing",
1478-
os.environ.get("ENABLE_COMMUNITY_SHARING", "True").lower() == "true",
1478+
os.environ.get("ENABLE_COMMUNITY_SHARING", "False").lower() == "true",
14791479
)
14801480

14811481
ENABLE_MESSAGE_RATING = PersistentConfig(

backend/open_webui/jms/data/replay/7ced505e-9a70-44f0-985d-2ed149397265.cast

Lines changed: 0 additions & 3 deletions
This file was deleted.

backend/open_webui/routers/users.py

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@
33
import base64
44
import io
55

6-
76
from fastapi import APIRouter, Depends, HTTPException, Request, status
87
from fastapi.responses import Response, StreamingResponse, FileResponse
98
from pydantic import BaseModel
109

11-
1210
from open_webui.models.auths import Auths
1311
from open_webui.models.oauth_sessions import OAuthSessions
1412

@@ -25,7 +23,6 @@
2523
UserUpdateForm,
2624
)
2725

28-
2926
from open_webui.socket.main import (
3027
get_active_status_by_user_id,
3128
get_active_user_ids,
@@ -34,11 +31,9 @@
3431
from open_webui.constants import ERROR_MESSAGES
3532
from open_webui.env import SRC_LOG_LEVELS, STATIC_DIR
3633

37-
3834
from open_webui.utils.auth import get_admin_user, get_password_hash, get_verified_user
3935
from open_webui.utils.access_control import get_permissions, has_permission
4036

41-
4237
log = logging.getLogger(__name__)
4338
log.setLevel(SRC_LOG_LEVELS["MODELS"])
4439

@@ -52,7 +47,7 @@
5247

5348
@router.get("/active")
5449
async 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)
7469
async 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)
9893
async 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)
105100
async 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")
137132
async 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")
219215
async 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)
249245
async 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])
298294
async 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])
431427
async 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:
1.62 KB
Loading

backend/open_webui/static/custom.css

Whitespace-only changes.
3.74 KB
Loading
15.5 KB
Loading
14.7 KB
Binary file not shown.
10.4 KB
Loading

0 commit comments

Comments
 (0)