Skip to content

Commit 8ab4456

Browse files
committed
refactor: permission
1 parent 16dc78d commit 8ab4456

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

apps/application/views/application.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
def get_application_operation_object(application_id):
2828
application_model = QuerySet(model=Application).filter(id=application_id).first()
2929
if application_model is not None:
30-
return{
30+
return {
3131
'name': application_model.name
3232
}
3333
return {}
@@ -48,7 +48,7 @@ class Application(APIView):
4848
)
4949
@has_permissions(PermissionConstants.APPLICATION_READ.get_workspace_permission())
5050
@log(menu='Application', operate='Create an application',
51-
get_operation_object=lambda r,k: {'name': r.data.get('name')})
51+
get_operation_object=lambda r, k: {'name': r.data.get('name')})
5252
def post(self, request: Request, workspace_id: str):
5353
return result.success(
5454
ApplicationSerializer(data={'workspace_id': workspace_id, 'user_id': request.user.id}).insert(request.data))
@@ -105,8 +105,6 @@ def post(self, request: Request, workspace_id: str):
105105
data={'user_id': request.user.id, 'workspace_id': workspace_id,
106106
}).import_({'file': request.FILES.get('file')}))
107107

108-
109-
110108
class Export(APIView):
111109
authentication_classes = [TokenAuth]
112110

@@ -197,7 +195,7 @@ class Publish(APIView):
197195
tags=[_('Application')] # type: ignore
198196
)
199197
@log(menu='Application', operate='Publishing an application',
200-
get_operation_object=lambda r,k: get_application_operation_object(k.get('application_id'))
198+
get_operation_object=lambda r, k: get_application_operation_object(k.get('application_id'))
201199
)
202200
def put(self, request: Request, application_id: str):
203201
return result.success(

apps/common/constants/permission_constants.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Group(Enum):
4444
USER_GROUP = "USER_GROUP"
4545
CHAT_USER_AUTH = "CHAT_USER_AUTH"
4646
OTHER = "OTHER"
47+
OVERVIEW = "OVERVIEW"
4748

4849

4950
class SystemGroup(Enum):
@@ -225,6 +226,7 @@ def get_workspace_role(self):
225226
Group.CHAT_USER.value: _("Chat User"),
226227
Group.USER_GROUP.value: _("User Group"),
227228
Group.CHAT_USER_AUTH.value: _("Chat User Auth"),
229+
Group.OVERVIEW.value: _("Overview"),
228230

229231
}
230232

@@ -573,6 +575,42 @@ class PermissionConstants(Enum):
573575
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
574576
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
575577
)
578+
APPLICATION_OVERVIEW_READ = Permission(group=Group.OVERVIEW, operate=Operate.READ,
579+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
580+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
581+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
582+
)
583+
APPLICATION_OVERVIEW_EMBEDDED = Permission(group=Group.OVERVIEW, operate=Operate.READ,
584+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
585+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
586+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
587+
label=_('Embed third party')
588+
)
589+
APPLICATION_OVERVIEW_ACCESS = Permission(group=Group.OVERVIEW, operate=Operate.READ,
590+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
591+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
592+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
593+
label=_('Access restrictions')
594+
)
595+
APPLICATION_OVERVIEW_DISPLAY = Permission(group=Group.OVERVIEW, operate=Operate.READ,
596+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
597+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
598+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
599+
label=_('Display settings')
600+
)
601+
APPLICATION_OVERVIEW_API_KEY = Permission(group=Group.OVERVIEW, operate=Operate.READ,
602+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
603+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
604+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
605+
label=_('API Key')
606+
)
607+
APPLICATION_OVERVIEW_PUBLIC = Permission(group=Group.OVERVIEW, operate=Operate.READ,
608+
role_list=[RoleConstants.ADMIN, RoleConstants.USER],
609+
parent_group=[WorkspaceGroup.APPLICATION, UserGroup.APPLICATION],
610+
resource_permission_group_list=[ResourcePermissionGroup.VIEW],
611+
label=_('Public settings')
612+
)
613+
576614
SYSTEM_API_KEY_EDIT = Permission(group=Group.OTHER, operate=Operate.EDIT,
577615
role_list=[RoleConstants.ADMIN],
578616
parent_group=[SystemGroup.OTHER],

0 commit comments

Comments
 (0)