mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-16 15:28:38 +00:00
perf: Asset account filter
This commit is contained in:
@@ -11,6 +11,7 @@ from rest_framework.decorators import action
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.status import HTTP_200_OK
|
||||
|
||||
from accounts.filters import AccountFilterSet
|
||||
from accounts.serializers import AccountSerializer
|
||||
from accounts.tasks import push_accounts_to_assets_task, verify_accounts_connectivity_task
|
||||
from assets import serializers
|
||||
@@ -176,6 +177,17 @@ class AssetViewSet(SuggestionMixin, BaseAssetViewSet):
|
||||
pk = self.kwargs.get("pk")
|
||||
asset = get_object_or_404(self.model, pk=pk)
|
||||
queryset = asset.all_accounts.all()
|
||||
|
||||
filterset = AccountFilterSet(
|
||||
data=self.request.query_params,
|
||||
queryset=queryset,
|
||||
request=self.request,
|
||||
)
|
||||
|
||||
if not filterset.is_valid():
|
||||
return Response(filterset.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
queryset = filterset.qs
|
||||
return self.get_paginated_response_from_queryset(queryset)
|
||||
|
||||
@action(methods=['post'], detail=False, url_path='sync-platform-protocols')
|
||||
|
Reference in New Issue
Block a user