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)