mirror of https://github.com/jumpserver/jumpserver
fix: 删除perms application多余文件
parent
62f8fac392
commit
f81805f361
|
@ -1,67 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
|
||||||
from rest_framework.response import Response
|
|
||||||
from rest_framework.generics import RetrieveAPIView
|
|
||||||
|
|
||||||
from perms import serializers
|
|
||||||
from perms.models import ApplicationPermission
|
|
||||||
from applications.models import Application
|
|
||||||
from common.permissions import IsValidUser
|
|
||||||
from ..base import BasePermissionViewSet
|
|
||||||
|
|
||||||
|
|
||||||
class ApplicationPermissionViewSet(BasePermissionViewSet):
|
|
||||||
"""
|
|
||||||
应用授权列表的增删改查API
|
|
||||||
"""
|
|
||||||
model = ApplicationPermission
|
|
||||||
serializer_class = serializers.ApplicationPermissionSerializer
|
|
||||||
filterset_fields = {
|
|
||||||
'name': ['exact'],
|
|
||||||
'category': ['exact'],
|
|
||||||
'type': ['exact', 'in'],
|
|
||||||
'from_ticket': ['exact']
|
|
||||||
}
|
|
||||||
search_fields = ['name', 'category', 'type']
|
|
||||||
custom_filter_fields = BasePermissionViewSet.custom_filter_fields + [
|
|
||||||
'application_id', 'application', 'app', 'app_name'
|
|
||||||
]
|
|
||||||
ordering_fields = ('name',)
|
|
||||||
ordering = ('name',)
|
|
||||||
|
|
||||||
def get_queryset(self):
|
|
||||||
queryset = super().get_queryset().prefetch_related(
|
|
||||||
"applications", "users", "user_groups", "system_users"
|
|
||||||
)
|
|
||||||
return queryset
|
|
||||||
|
|
||||||
def filter_application(self, queryset):
|
|
||||||
app_id = self.request.query_params.get('application_id') or \
|
|
||||||
self.request.query_params.get('app')
|
|
||||||
app_name = self.request.query_params.get('application') or \
|
|
||||||
self.request.query_params.get('app_name')
|
|
||||||
|
|
||||||
if app_id:
|
|
||||||
applications = Application.objects.filter(pk=app_id)
|
|
||||||
elif app_name:
|
|
||||||
applications = Application.objects.filter(name=app_name)
|
|
||||||
else:
|
|
||||||
return queryset
|
|
||||||
if not applications:
|
|
||||||
return queryset.none()
|
|
||||||
queryset = queryset.filter(applications__in=applications)
|
|
||||||
return queryset
|
|
||||||
|
|
||||||
def filter_queryset(self, queryset):
|
|
||||||
queryset = super().filter_queryset(queryset)
|
|
||||||
queryset = self.filter_application(queryset)
|
|
||||||
return queryset
|
|
||||||
|
|
||||||
|
|
||||||
class ApplicationPermissionActionsApi(RetrieveAPIView):
|
|
||||||
permission_classes = (IsValidUser,)
|
|
||||||
|
|
||||||
def retrieve(self, request, *args, **kwargs):
|
|
||||||
category = request.GET.get('category')
|
|
||||||
actions = ApplicationPermission.get_include_actions_choices(category=category)
|
|
||||||
return Response(data=actions)
|
|
|
@ -1,50 +0,0 @@
|
||||||
# coding: utf-8
|
|
||||||
#
|
|
||||||
|
|
||||||
from django.urls import path, include
|
|
||||||
from rest_framework_bulk.routes import BulkRouter
|
|
||||||
from .. import api
|
|
||||||
|
|
||||||
|
|
||||||
router = BulkRouter()
|
|
||||||
router.register('application-permissions', api.ApplicationPermissionViewSet, 'application-permission')
|
|
||||||
router.register('application-permissions-users-relations', api.ApplicationPermissionUserRelationViewSet, 'application-permissions-users-relation')
|
|
||||||
router.register('application-permissions-user-groups-relations', api.ApplicationPermissionUserGroupRelationViewSet, 'application-permissions-user-groups-relation')
|
|
||||||
router.register('application-permissions-applications-relations', api.ApplicationPermissionApplicationRelationViewSet, 'application-permissions-application-relation')
|
|
||||||
router.register('application-permissions-system-users-relations', api.ApplicationPermissionSystemUserRelationViewSet, 'application-permissions-system-users-relation')
|
|
||||||
|
|
||||||
user_permission_urlpatterns = [
|
|
||||||
path('<uuid:pk>/applications/', api.UserAllGrantedApplicationsApi.as_view(), name='user-applications'),
|
|
||||||
path('applications/', api.MyAllGrantedApplicationsApi.as_view(), name='my-applications'),
|
|
||||||
|
|
||||||
# Application As Tree
|
|
||||||
path('<uuid:pk>/applications/tree/', api.UserAllGrantedApplicationsAsTreeApi.as_view(), name='user-applications-as-tree'),
|
|
||||||
path('applications/tree/', api.MyAllGrantedApplicationsAsTreeApi.as_view(), name='my-applications-as-tree'),
|
|
||||||
|
|
||||||
# Application System Users
|
|
||||||
path('<uuid:pk>/applications/<uuid:application_id>/system-users/', api.UserGrantedApplicationSystemUsersApi.as_view(), name='user-application-system-users'),
|
|
||||||
path('applications/<uuid:application_id>/system-users/', api.MyGrantedApplicationSystemUsersApi.as_view(), name='my-application-system-users'),
|
|
||||||
]
|
|
||||||
|
|
||||||
user_group_permission_urlpatterns = [
|
|
||||||
path('<uuid:pk>/applications/', api.UserGroupGrantedApplicationsApi.as_view(), name='user-group-applications'),
|
|
||||||
]
|
|
||||||
|
|
||||||
permission_urlpatterns = [
|
|
||||||
# 授权规则中授权的用户和应用
|
|
||||||
path('<uuid:pk>/applications/all/', api.ApplicationPermissionAllApplicationListApi.as_view(), name='application-permission-all-applications'),
|
|
||||||
path('<uuid:pk>/users/all/', api.ApplicationPermissionAllUserListApi.as_view(), name='application-permission-all-users'),
|
|
||||||
|
|
||||||
# 验证用户是否有某个应用的权限
|
|
||||||
path('user/validate/', api.ValidateUserApplicationPermissionApi.as_view(), name='validate-user-application-permission'),
|
|
||||||
|
|
||||||
path('applications/actions/', api.ApplicationPermissionActionsApi.as_view(), name='application-actions'),
|
|
||||||
]
|
|
||||||
|
|
||||||
application_permission_urlpatterns = [
|
|
||||||
path('users/', include(user_permission_urlpatterns)),
|
|
||||||
path('user-groups/', include(user_group_permission_urlpatterns)),
|
|
||||||
path('application-permissions/', include(permission_urlpatterns))
|
|
||||||
]
|
|
||||||
|
|
||||||
application_permission_urlpatterns += router.urls
|
|
Loading…
Reference in New Issue