diff --git a/apps/assets/api/asset/asset.py b/apps/assets/api/asset/asset.py index a02d35121..d6107631c 100644 --- a/apps/assets/api/asset/asset.py +++ b/apps/assets/api/asset/asset.py @@ -71,7 +71,7 @@ class AssetViewSet(SuggestionMixin, NodeFilterMixin, OrgBulkModelViewSet): ("platform", serializers.PlatformSerializer), ("suggestion", serializers.MiniAssetSerializer), ("gateways", serializers.GatewaySerializer), - ("spec_info", serializers.SpecSerializer), + ("spec_info", serializers.SpecSerializer) ) rbac_perms = ( ("match", "assets.match_asset"), diff --git a/apps/assets/api/asset/host.py b/apps/assets/api/asset/host.py index d2ddc954d..3e11b8ad5 100644 --- a/apps/assets/api/asset/host.py +++ b/apps/assets/api/asset/host.py @@ -1,5 +1,8 @@ from assets.models import Host, Asset -from assets.serializers import HostSerializer +from assets.serializers import HostSerializer, HostInfoSerializer +from rest_framework.decorators import action +from rest_framework.response import Response + from .asset import AssetViewSet __all__ = ['HostViewSet'] @@ -12,4 +15,11 @@ class HostViewSet(AssetViewSet): def get_serializer_classes(self): serializer_classes = super().get_serializer_classes() serializer_classes['default'] = HostSerializer + serializer_classes['info'] = HostInfoSerializer return serializer_classes + + @action(methods=["GET"], detail=True, url_path="info") + def info(self, *args, **kwargs): + asset = super().get_object() + return Response(asset.info) +