From 26794064b5d1c57675518c4a1bf2c8fabce20249 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 16 Dec 2022 17:16:14 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20session=20=E6=B7=BB=E5=8A=A0=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/serializers/session.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/apps/terminal/serializers/session.py b/apps/terminal/serializers/session.py index b8ec7bd69..517262e0f 100644 --- a/apps/terminal/serializers/session.py +++ b/apps/terminal/serializers/session.py @@ -1,7 +1,9 @@ +from django.db import models from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers from assets.const import Protocol +from common.drf.fields import LabeledChoiceField from orgs.mixins.serializers import BulkOrgResourceModelSerializer from ..models import Session @@ -11,17 +13,25 @@ __all__ = [ ] +class SessionType(models.TextChoices): + normal = 'normal', _('Normal') + tunnel = 'tunnel', _('Tunnel') + command = 'command', _('Command') + + class SessionSerializer(BulkOrgResourceModelSerializer): org_id = serializers.CharField(allow_blank=True) protocol = serializers.ChoiceField(choices=Protocol.choices, label=_("Protocol")) + type = LabeledChoiceField(choices=SessionType.choices, label=_("Type")) class Meta: model = Session fields_mini = ["id"] fields_small = fields_mini + [ - "user", "asset", "user_id", "asset_id", 'account', "protocol", - "login_from", "remote_addr", "is_success", - "is_finished", "has_replay", "date_start", "date_end", + "user", "asset", "user_id", "asset_id", 'account', + "protocol", 'type', "login_from", "remote_addr", + "is_success", "is_finished", "has_replay", "has_command", + "date_start", "date_end", "comment" ] fields_fk = ["terminal", ] fields_custom = ["can_replay", "can_join", "can_terminate"]