From 4112ad21c3fc9379d990ded580fac7e0d4c42589 Mon Sep 17 00:00:00 2001 From: Eric Date: Tue, 13 Jun 2023 18:58:26 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=A2=9E=E5=8A=A0=20terminal=20?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/serializers/session.py | 2 ++ apps/terminal/serializers/terminal.py | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/terminal/serializers/session.py b/apps/terminal/serializers/session.py index 67eea06be..db7346d51 100644 --- a/apps/terminal/serializers/session.py +++ b/apps/terminal/serializers/session.py @@ -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', ] diff --git a/apps/terminal/serializers/terminal.py b/apps/terminal/serializers/terminal.py index 83ab1605b..2904c7938 100644 --- a/apps/terminal/serializers/terminal.py +++ b/apps/terminal/serializers/terminal.py @@ -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)