perf: change account filter by asset

This commit is contained in:
ibuler
2025-04-16 17:22:37 +08:00
committed by 老广
parent 2aace05099
commit e2b8fd0d40
6 changed files with 26 additions and 30 deletions

View File

@@ -11,7 +11,6 @@ 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
@@ -177,24 +176,6 @@ class AssetViewSet(SuggestionMixin, BaseAssetViewSet):
gateways = asset.domain.gateways
return self.get_paginated_response_from_queryset(gateways)
@action(methods=["GET"], detail=True, url_path="accounts")
def accounts(self, *args, **kwargs):
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')
def sync_platform_protocols(self, request, *args, **kwargs):
platform_id = request.data.get('platform_id')