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"
|
CHAT_USER_AUTH = "CHAT_USER_AUTH"
|
||||||
OTHER = "OTHER"
|
OTHER = "OTHER"
|
||||||
OVERVIEW = "OVERVIEW"
|
OVERVIEW = "OVERVIEW"
|
||||||
|
APPLICATION_ACCESS = "APPLICATION_ACCESS"
|
||||||
|
|
||||||
|
|
||||||
class SystemGroup(Enum):
|
class SystemGroup(Enum):
|
||||||
@ -612,6 +613,16 @@ class PermissionConstants(Enum):
|
|||||||
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
|
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
|
||||||
label=_('Public settings')
|
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,
|
SYSTEM_API_KEY_EDIT = Permission(group=Group.OTHER, operate=Operate.EDIT,
|
||||||
role_list=[RoleConstants.ADMIN],
|
role_list=[RoleConstants.ADMIN],
|
||||||
|
|||||||
@ -15,6 +15,7 @@ from urllib.parse import urljoin
|
|||||||
|
|
||||||
import uuid_utils.compat as uuid
|
import uuid_utils.compat as uuid
|
||||||
from charset_normalizer import detect
|
from charset_normalizer import detect
|
||||||
|
from django.db.models import QuerySet
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from common.handle.base_split_handle import BaseSplitHandle
|
from common.handle.base_split_handle import BaseSplitHandle
|
||||||
@ -38,6 +39,16 @@ class FileBufferHandle:
|
|||||||
return self.buffer
|
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()
|
default_split_handle = TextSplitHandle()
|
||||||
split_handles = [
|
split_handles = [
|
||||||
HTMLSplitHandle(),
|
HTMLSplitHandle(),
|
||||||
@ -82,20 +93,20 @@ def get_image_list(result_list: list, zip_files: List[str]):
|
|||||||
'/') else source_image_path)
|
'/') else source_image_path)
|
||||||
if not zip_files.__contains__(image_path):
|
if not zip_files.__contains__(image_path):
|
||||||
continue
|
continue
|
||||||
if image_path.startswith('api/file/') or image_path.startswith('api/image/'):
|
if image_path.startswith('oss/file/') or image_path.startswith('oss/image/'):
|
||||||
image_id = image_path.replace('api/file/', '').replace('api/image/', '')
|
image_id = image_path.replace('oss/file/', '').replace('oss/image/', '')
|
||||||
if is_valid_uuid(image_id):
|
if is_valid_uuid(image_id):
|
||||||
image_file_list.append({'source_file': image_path,
|
image_file_list.append({'source_file': image_path,
|
||||||
'image_id': image_id})
|
'image_id': image_id})
|
||||||
else:
|
else:
|
||||||
image_file_list.append({'source_file': image_path,
|
image_file_list.append({'source_file': image_path,
|
||||||
'image_id': new_image_id})
|
'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
|
p['content'] = content
|
||||||
else:
|
else:
|
||||||
image_file_list.append({'source_file': image_path,
|
image_file_list.append({'source_file': image_path,
|
||||||
'image_id': new_image_id})
|
'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
|
p['content'] = content
|
||||||
|
|
||||||
return image_file_list
|
return image_file_list
|
||||||
|
|||||||
@ -24,6 +24,7 @@ from pydub import AudioSegment
|
|||||||
from ..database_model_manage.database_model_manage import DatabaseModelManage
|
from ..database_model_manage.database_model_manage import DatabaseModelManage
|
||||||
from ..exception.app_exception import AppApiException
|
from ..exception.app_exception import AppApiException
|
||||||
|
|
||||||
|
|
||||||
def password_encrypt(row_password):
|
def password_encrypt(row_password):
|
||||||
"""
|
"""
|
||||||
密码 md5加密
|
密码 md5加密
|
||||||
@ -308,6 +309,7 @@ def restricted_loads(s):
|
|||||||
"""Helper function analogous to pickle.loads()."""
|
"""Helper function analogous to pickle.loads()."""
|
||||||
return RestrictedUnpickler(io.BytesIO(s)).load()
|
return RestrictedUnpickler(io.BytesIO(s)).load()
|
||||||
|
|
||||||
|
|
||||||
def flat_map(array: List[List]):
|
def flat_map(array: List[List]):
|
||||||
"""
|
"""
|
||||||
将二位数组转为一维数组
|
将二位数组转为一维数组
|
||||||
@ -319,8 +321,8 @@ def flat_map(array: List[List]):
|
|||||||
result += e
|
result += e
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def parse_image(content: str):
|
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]
|
image_list = [match.group() for match in matches]
|
||||||
return image_list
|
return image_list
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user