Skip to content

Commit b8b1488

Browse files
committed
refactor: add application settings
1 parent cebdfd6 commit b8b1488

File tree

3 files changed

+30
-6
lines changed

3 files changed

+30
-6
lines changed

apps/common/constants/permission_constants.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class Group(Enum):
4545
CHAT_USER_AUTH = "CHAT_USER_AUTH"
4646
OTHER = "OTHER"
4747
OVERVIEW = "OVERVIEW"
48+
APPLICATION_ACCESS = "APPLICATION_ACCESS"
4849

4950

5051
class SystemGroup(Enum):
@@ -612,6 +613,16 @@ class PermissionConstants(Enum):
612613
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
613614
label=_('Public settings')
614615
)
616+
APPLICATION_ACCESS_READ = Permission(group=Group.APPLICATION_ACCESS, operate=Operate.READ,
617+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
618+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
619+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
620+
)
621+
APPLICATION_ACCESS_EDIT = Permission(group=Group.APPLICATION_ACCESS, operate=Operate.EDIT,
622+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
623+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
624+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
625+
)
615626

616627
SYSTEM_API_KEY_EDIT = Permission(group=Group.OTHER, operate=Operate.EDIT,
617628
role_list=[RoleConstants.ADMIN],

apps/common/handle/impl/text/zip_split_handle.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import uuid_utils.compat as uuid
1717
from charset_normalizer import detect
18+
from django.db.models import QuerySet
1819
from django.utils.translation import gettext_lazy as _
1920

2021
from common.handle.base_split_handle import BaseSplitHandle
@@ -38,6 +39,16 @@ def get_buffer(self, file):
3839
return self.buffer
3940

4041

42+
def save_image(image_list):
43+
if image_list is not None and len(image_list) > 0:
44+
exist_image_list = [str(i.get('id')) for i in
45+
QuerySet(File).filter(id__in=[i.id for i in image_list]).values('id')]
46+
save_image_list = [image for image in image_list if not exist_image_list.__contains__(str(image.id))]
47+
save_image_list = list({img.id: img for img in save_image_list}.values())
48+
if len(save_image_list) > 0:
49+
QuerySet(File).bulk_create(save_image_list)
50+
51+
4152
default_split_handle = TextSplitHandle()
4253
split_handles = [
4354
HTMLSplitHandle(),
@@ -82,20 +93,20 @@ def get_image_list(result_list: list, zip_files: List[str]):
8293
'/') else source_image_path)
8394
if not zip_files.__contains__(image_path):
8495
continue
85-
if image_path.startswith('api/file/') or image_path.startswith('api/image/'):
86-
image_id = image_path.replace('api/file/', '').replace('api/image/', '')
96+
if image_path.startswith('oss/file/') or image_path.startswith('oss/image/'):
97+
image_id = image_path.replace('oss/file/', '').replace('oss/image/', '')
8798
if is_valid_uuid(image_id):
8899
image_file_list.append({'source_file': image_path,
89100
'image_id': image_id})
90101
else:
91102
image_file_list.append({'source_file': image_path,
92103
'image_id': new_image_id})
93-
content = content.replace(source_image_path, f'/api/image/{new_image_id}')
104+
content = content.replace(source_image_path, f'/oss/image/{new_image_id}')
94105
p['content'] = content
95106
else:
96107
image_file_list.append({'source_file': image_path,
97108
'image_id': new_image_id})
98-
content = content.replace(source_image_path, f'/api/image/{new_image_id}')
109+
content = content.replace(source_image_path, f'/oss/image/{new_image_id}')
99110
p['content'] = content
100111

101112
return image_file_list

apps/common/utils/common.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from ..database_model_manage.database_model_manage import DatabaseModelManage
2525
from ..exception.app_exception import AppApiException
2626

27+
2728
def password_encrypt(row_password):
2829
"""
2930
密码 md5加密
@@ -308,6 +309,7 @@ def restricted_loads(s):
308309
"""Helper function analogous to pickle.loads()."""
309310
return RestrictedUnpickler(io.BytesIO(s)).load()
310311

312+
311313
def flat_map(array: List[List]):
312314
"""
313315
将二位数组转为一维数组
@@ -319,8 +321,8 @@ def flat_map(array: List[List]):
319321
result += e
320322
return result
321323

324+
322325
def parse_image(content: str):
323-
matches = re.finditer("!\[.*?\]\(\/api\/(image|file)\/.*?\)", content)
326+
matches = re.finditer("!\[.*?\]\(\/oss\/(image|file)\/.*?\)", content)
324327
image_list = [match.group() for match in matches]
325328
return image_list
326-

0 commit comments

Comments
 (0)