From ec4545afb19f39a8601a835eb69bb4c3670c35ad Mon Sep 17 00:00:00 2001 From: Bai Date: Wed, 13 May 2026 19:01:32 +0800 Subject: [PATCH] perf: endpoint limit db-port fields when vendor is not jumsperver --- apps/settings/serializers/public.py | 1 + apps/terminal/serializers/endpoint.py | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/apps/settings/serializers/public.py b/apps/settings/serializers/public.py index e5e6cedc1..707d7ecf8 100644 --- a/apps/settings/serializers/public.py +++ b/apps/settings/serializers/public.py @@ -90,6 +90,7 @@ class PrivateSettingSerializer(PublicSettingSerializer): JDMC_ENABLED = serializers.BooleanField() FLOWER_ENABLED = serializers.BooleanField() REMOTE_APP_STORE_URL = serializers.CharField() + VENDOR = serializers.CharField() class ServerInfoSerializer(serializers.Serializer): diff --git a/apps/terminal/serializers/endpoint.py b/apps/terminal/serializers/endpoint.py index 69288316c..d407d306e 100644 --- a/apps/terminal/serializers/endpoint.py +++ b/apps/terminal/serializers/endpoint.py @@ -1,4 +1,5 @@ from django.utils.translation import gettext_lazy as _ +from django.conf import settings from rest_framework import serializers from acls.serializers.rules import address_validator, ip_group_help_text @@ -30,6 +31,15 @@ class EndpointSerializer(BulkModelSerializer): ) }, } + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.remove_fields_if_need() + + def remove_fields_if_need(self): + if settings.VENDOR.lower() != 'jumpserver': + self.fields.pop('oracle_port') + self.fields.pop('mongodb_port') def get_extra_kwargs(self): extra_kwargs = super().get_extra_kwargs()