perf: 修改 asset 结构

This commit is contained in:
ibuler
2022-09-21 11:17:14 +08:00
parent cf5c50b343
commit 1b0195cb82
37 changed files with 95 additions and 109 deletions

View File

@@ -18,8 +18,8 @@ __all__ = ['AccountViewSet', 'AccountSecretsViewSet', 'AccountTaskCreateAPI']
class AccountViewSet(OrgBulkModelViewSet):
model = Account
filterset_fields = ("username", "asset", 'ip', 'name')
search_fields = ('username', 'ip', 'name')
filterset_fields = ("username", "asset", 'address', 'name')
search_fields = ('username', 'address', 'name')
filterset_class = AccountFilterSet
serializer_classes = {
'default': serializers.AccountSerializer,

View File

@@ -30,7 +30,7 @@ class AssetFilterSet(BaseFilterSet):
class Meta:
model = Asset
fields = ['name', 'ip', 'is_active', 'type', 'category', 'hostname']
fields = ['name', 'address', 'is_active', 'type', 'category', 'hostname']
class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet):
@@ -39,8 +39,8 @@ class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet):
"""
model = Asset
filterset_class = AssetFilterSet
search_fields = ("name", "ip")
ordering_fields = ("name", "ip")
search_fields = ("name", "address")
ordering_fields = ("name", "address")
ordering = ('name',)
serializer_classes = (
('default', serializers.AssetSerializer),

View File

@@ -31,8 +31,8 @@ class DomainViewSet(OrgBulkModelViewSet):
class GatewayViewSet(OrgBulkModelViewSet):
model = Gateway
filterset_fields = ("domain__name", "name", "username", "ip", "domain")
search_fields = ("domain__name", "name", "username", "ip")
filterset_fields = ("domain__name", "name", "username", "address", "domain")
search_fields = ("domain__name", "name", "username", "address")
serializer_class = serializers.GatewaySerializer

View File

@@ -57,7 +57,7 @@ class SerializeToTreeNodeMixin:
{
'id': str(asset.id),
'name': asset.name,
'title': asset.ip,
'title': asset.address,
'pId': get_pid(asset),
'isParent': False,
'open': False,
@@ -68,7 +68,7 @@ class SerializeToTreeNodeMixin:
'data': {
'id': asset.id,
'name': asset.name,
'ip': asset.ip,
'address': asset.address,
'protocols': asset.protocols_as_list,
'platform': asset.platform.id,
'org_name': asset.org_name

View File

@@ -201,7 +201,7 @@ class NodeChildrenAsTreeApi(SerializeToTreeNodeMixin, NodeChildrenApi):
if not self.instance or not include_assets:
return []
assets = self.instance.get_assets().only(
"id", "name", "ip", "platform_id",
"id", "name", "address", "platform_id",
"org_id", "is_active",
).prefetch_related('platform')
return self.serialize_assets(assets, self.instance.key)