mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-30 17:52:48 +00:00
refactor: add application settings
This commit is contained in:
parent
cebdfd6123
commit
b8b14884bd
|
|
@ -45,6 +45,7 @@ class Group(Enum):
|
|||
CHAT_USER_AUTH = "CHAT_USER_AUTH"
|
||||
OTHER = "OTHER"
|
||||
OVERVIEW = "OVERVIEW"
|
||||
APPLICATION_ACCESS = "APPLICATION_ACCESS"
|
||||
|
||||
|
||||
class SystemGroup(Enum):
|
||||
|
|
@ -612,6 +613,16 @@ class PermissionConstants(Enum):
|
|||
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
|
||||
label=_('Public settings')
|
||||
)
|
||||
APPLICATION_ACCESS_READ = Permission(group=Group.APPLICATION_ACCESS, operate=Operate.READ,
|
||||
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
|
||||
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
|
||||
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
|
||||
)
|
||||
APPLICATION_ACCESS_EDIT = Permission(group=Group.APPLICATION_ACCESS, operate=Operate.EDIT,
|
||||
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
|
||||
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
|
||||
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
|
||||
)
|
||||
|
||||
SYSTEM_API_KEY_EDIT = Permission(group=Group.OTHER, operate=Operate.EDIT,
|
||||
role_list=[RoleConstants.ADMIN],
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ from urllib.parse import urljoin
|
|||
|
||||
import uuid_utils.compat as uuid
|
||||
from charset_normalizer import detect
|
||||
from django.db.models import QuerySet
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from common.handle.base_split_handle import BaseSplitHandle
|
||||
|
|
@ -38,6 +39,16 @@ class FileBufferHandle:
|
|||
return self.buffer
|
||||
|
||||
|
||||
def save_image(image_list):
|
||||
if image_list is not None and len(image_list) > 0:
|
||||
exist_image_list = [str(i.get('id')) for i in
|
||||
QuerySet(File).filter(id__in=[i.id for i in image_list]).values('id')]
|
||||
save_image_list = [image for image in image_list if not exist_image_list.__contains__(str(image.id))]
|
||||
save_image_list = list({img.id: img for img in save_image_list}.values())
|
||||
if len(save_image_list) > 0:
|
||||
QuerySet(File).bulk_create(save_image_list)
|
||||
|
||||
|
||||
default_split_handle = TextSplitHandle()
|
||||
split_handles = [
|
||||
HTMLSplitHandle(),
|
||||
|
|
@ -82,20 +93,20 @@ def get_image_list(result_list: list, zip_files: List[str]):
|
|||
'/') else source_image_path)
|
||||
if not zip_files.__contains__(image_path):
|
||||
continue
|
||||
if image_path.startswith('api/file/') or image_path.startswith('api/image/'):
|
||||
image_id = image_path.replace('api/file/', '').replace('api/image/', '')
|
||||
if image_path.startswith('oss/file/') or image_path.startswith('oss/image/'):
|
||||
image_id = image_path.replace('oss/file/', '').replace('oss/image/', '')
|
||||
if is_valid_uuid(image_id):
|
||||
image_file_list.append({'source_file': image_path,
|
||||
'image_id': image_id})
|
||||
else:
|
||||
image_file_list.append({'source_file': image_path,
|
||||
'image_id': new_image_id})
|
||||
content = content.replace(source_image_path, f'/api/image/{new_image_id}')
|
||||
content = content.replace(source_image_path, f'/oss/image/{new_image_id}')
|
||||
p['content'] = content
|
||||
else:
|
||||
image_file_list.append({'source_file': image_path,
|
||||
'image_id': new_image_id})
|
||||
content = content.replace(source_image_path, f'/api/image/{new_image_id}')
|
||||
content = content.replace(source_image_path, f'/oss/image/{new_image_id}')
|
||||
p['content'] = content
|
||||
|
||||
return image_file_list
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ from pydub import AudioSegment
|
|||
from ..database_model_manage.database_model_manage import DatabaseModelManage
|
||||
from ..exception.app_exception import AppApiException
|
||||
|
||||
|
||||
def password_encrypt(row_password):
|
||||
"""
|
||||
密码 md5加密
|
||||
|
|
@ -308,6 +309,7 @@ def restricted_loads(s):
|
|||
"""Helper function analogous to pickle.loads()."""
|
||||
return RestrictedUnpickler(io.BytesIO(s)).load()
|
||||
|
||||
|
||||
def flat_map(array: List[List]):
|
||||
"""
|
||||
将二位数组转为一维数组
|
||||
|
|
@ -319,8 +321,8 @@ def flat_map(array: List[List]):
|
|||
result += e
|
||||
return result
|
||||
|
||||
|
||||
def parse_image(content: str):
|
||||
matches = re.finditer("!\[.*?\]\(\/api\/(image|file)\/.*?\)", content)
|
||||
matches = re.finditer("!\[.*?\]\(\/oss\/(image|file)\/.*?\)", content)
|
||||
image_list = [match.group() for match in matches]
|
||||
return image_list
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue