perf: 优化 connect token asset info

pull/10167/head
ibuler 2023-04-10 11:23:21 +08:00 committed by Jiangjie.Bai
parent 1248458451
commit 34e846927b
3 changed files with 12 additions and 2 deletions

View File

@ -148,6 +148,14 @@ class Asset(NodesRelationMixin, AbsConnectivity, JMSOrgBaseModel):
spec_fields = self.get_spec_fields(instance, secret=True)
return self.get_spec_values(instance, spec_fields)
@lazyproperty
def info(self):
info = {}
info.update(self.gathered_info or {})
info.update(self.custom_info or {})
info.update(self.spec_info or {})
return info
@lazyproperty
def auto_config(self):
platform = self.platform

View File

@ -162,7 +162,8 @@ class RDPFileClientProtocolURLMixin:
def get_smart_endpoint(self, protocol, asset=None):
target_ip = asset.get_target_ip() if asset else ''
endpoint = EndpointRule.match_endpoint(
target_instance=asset, target_ip=target_ip, protocol=protocol, request=self.request
target_instance=asset, target_ip=target_ip,
protocol=protocol, request=self.request
)
return endpoint

View File

@ -27,12 +27,13 @@ class _ConnectionTokenUserSerializer(serializers.ModelSerializer):
class _ConnectionTokenAssetSerializer(serializers.ModelSerializer):
protocols = AssetProtocolsSerializer(many=True, required=False, label=_('Protocols'))
info = serializers.DictField()
class Meta:
model = Asset
fields = [
'id', 'name', 'address', 'protocols', 'category',
'type', 'org_id', 'spec_info', 'secret_info',
'type', 'org_id', 'info', 'secret_info',
]