enh: file upload user permission

This commit is contained in:
Timothy Jaeryang Baek 2024-11-16 21:41:34 -08:00
parent cf2dcf1dc3
commit f5df0625e3
2 changed files with 6 additions and 3 deletions

View File

@ -1,10 +1,11 @@
from typing import Optional, Union, List, Dict, Any
from open_webui.apps.webui.models.groups import Groups
import json
def get_permissions(
user_id: str,
default_permissions: Dict[str, Any] = {},
default_permissions: Dict[str, Any],
) -> Dict[str, Any]:
"""
Get all permissions for a user by combining the permissions of all groups the user is a member of.
@ -29,7 +30,9 @@ def get_permissions(
return permissions
user_groups = Groups.get_groups_by_member_id(user_id)
permissions = default_permissions.copy()
# deep copy default permissions to avoid modifying the original dict
permissions = json.loads(json.dumps(default_permissions))
for group in user_groups:
group_permissions = group.permissions

View File

@ -92,7 +92,7 @@
};
const uploadFileHandler = async (file) => {
if (!($user?.permissions?.chat?.file_upload ?? true)) {
if ($user?.role !== 'admin' && !($_user?.permissions?.chat?.file_upload ?? true)) {
toast.error($i18n.t('You do not have permission to upload files.'));
return null;
}