From 213221beae6db96aa1f1128491e90c44d33d65c3 Mon Sep 17 00:00:00 2001 From: Bai Date: Fri, 11 Dec 2020 16:18:03 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9BasePermissionViewSet?= =?UTF-8?q?=E7=9A=84custom=5Ffilter=5Ffields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/api/application/application_permission.py | 3 +++ apps/perms/api/asset/asset_permission.py | 3 +++ apps/perms/api/base.py | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/apps/perms/api/application/application_permission.py b/apps/perms/api/application/application_permission.py index 0ddec2aa6..bbad79d26 100644 --- a/apps/perms/api/application/application_permission.py +++ b/apps/perms/api/application/application_permission.py @@ -14,6 +14,9 @@ class ApplicationPermissionViewSet(BasePermissionViewSet): serializer_class = serializers.ApplicationPermissionSerializer filter_fields = ['name', 'category', 'type'] search_fields = filter_fields + custom_filter_fields = BasePermissionViewSet.custom_filter_fields + [ + 'application_id', 'application' + ] def get_queryset(self): queryset = super().get_queryset().prefetch_related( diff --git a/apps/perms/api/asset/asset_permission.py b/apps/perms/api/asset/asset_permission.py index 67e2ce55d..0a61189a1 100644 --- a/apps/perms/api/asset/asset_permission.py +++ b/apps/perms/api/asset/asset_permission.py @@ -22,6 +22,9 @@ class AssetPermissionViewSet(BasePermissionViewSet): model = AssetPermission serializer_class = serializers.AssetPermissionSerializer filter_fields = ['name'] + custom_filter_fields = BasePermissionViewSet.custom_filter_fields + [ + 'node_id', 'node', 'asset_id', 'hostname', 'ip' + ] def get_queryset(self): queryset = super().get_queryset().prefetch_related( diff --git a/apps/perms/api/base.py b/apps/perms/api/base.py index 50cb96eae..61caab19c 100644 --- a/apps/perms/api/base.py +++ b/apps/perms/api/base.py @@ -14,6 +14,10 @@ __all__ = [ class BasePermissionViewSet(OrgBulkModelViewSet): + custom_filter_fields = [ + 'user_id', 'username', 'search', 'system_user_id', 'system_user', + 'user_group_id', 'user_group' + ] permission_classes = (IsOrgAdmin,) def filter_valid(self, queryset):