perf: 增加 terminal 显示字段

pull/10705/head
Eric 2023-06-13 18:58:26 +08:00 committed by Jiangjie.Bai
parent df8baede43
commit 4112ad21c3
2 changed files with 9 additions and 1 deletions

View File

@ -4,6 +4,7 @@ from rest_framework import serializers
from assets.const import Protocol
from common.serializers.fields import LabeledChoiceField
from orgs.mixins.serializers import BulkOrgResourceModelSerializer
from .terminal import TerminalSmallSerializer
from ..const import SessionType
from ..models import Session
@ -54,6 +55,7 @@ class SessionSerializer(BulkOrgResourceModelSerializer):
class SessionDisplaySerializer(SessionSerializer):
command_amount = serializers.IntegerField(read_only=True, label=_('Command amount'))
terminal = TerminalSmallSerializer(read_only=True, label=_('Terminal'))
class Meta(SessionSerializer.Meta):
fields = SessionSerializer.Meta.fields + ['command_amount', ]

View File

@ -1,8 +1,8 @@
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from common.serializers.fields import LabeledChoiceField
from common.serializers import BulkModelSerializer
from common.serializers.fields import LabeledChoiceField
from common.utils import get_request_ip, pretty_string, is_uuid
from users.serializers import ServiceAccountSerializer
from .. import const
@ -32,6 +32,12 @@ class StatSerializer(serializers.ModelSerializer):
}
class TerminalSmallSerializer(serializers.ModelSerializer):
class Meta:
model = Terminal
fields = ['id', 'name', 'type']
class TerminalSerializer(BulkModelSerializer):
session_online = serializers.ReadOnlyField(source='get_online_session_count')
is_alive = serializers.BooleanField(read_only=True)