From e71e8cd5956110c7576e49e3dc9cc732cb54a157 Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Sun, 8 Oct 2023 10:32:51 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E6=B8=85=E9=99=A4?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=A4=A9=E6=95=B0=E7=B3=BB=E7=BB=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=A0=A1=E9=AA=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/jumpserver/settings/custom.py | 11 --------- apps/settings/serializers/cleaning.py | 32 ++++++++------------------- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/apps/jumpserver/settings/custom.py b/apps/jumpserver/settings/custom.py index 6733faa92..e60b98dad 100644 --- a/apps/jumpserver/settings/custom.py +++ b/apps/jumpserver/settings/custom.py @@ -204,14 +204,3 @@ MAX_LIMIT_PER_PAGE = CONFIG.MAX_LIMIT_PER_PAGE # Magnus DB Port MAGNUS_ORACLE_PORTS = CONFIG.MAGNUS_ORACLE_PORTS LIMIT_SUPER_PRIV = CONFIG.LIMIT_SUPER_PRIV - -LOG_NAMES = [ - 'LOGIN_LOG_KEEP_DAYS', 'TASK_LOG_KEEP_DAYS', - 'OPERATE_LOG_KEEP_DAYS', 'FTP_LOG_KEEP_DAYS', - 'CLOUD_SYNC_TASK_EXECUTION_KEEP_DAYS', - 'ACTIVITY_LOG_KEEP_DAYS', 'TERMINAL_SESSION_KEEP_DURATION' -] -if LIMIT_SUPER_PRIV: - for name in LOG_NAMES: - if globals()[name] < 180: - globals()[name] = 180 diff --git a/apps/settings/serializers/cleaning.py b/apps/settings/serializers/cleaning.py index 03fda1f7b..e5f572e77 100644 --- a/apps/settings/serializers/cleaning.py +++ b/apps/settings/serializers/cleaning.py @@ -1,55 +1,41 @@ from django.conf import settings from django.utils.translation import gettext_lazy as _ from rest_framework import serializers -from rest_framework.serializers import ValidationError __all__ = ['CleaningSerializer'] +MIN_VALUE = 180 if settings.LIMIT_SUPER_PRIV else 1 + class CleaningSerializer(serializers.Serializer): PREFIX_TITLE = _('Period clean') LOGIN_LOG_KEEP_DAYS = serializers.IntegerField( - min_value=1, max_value=9999, + min_value=MIN_VALUE, max_value=9999, label=_("Login log keep days (day)"), ) TASK_LOG_KEEP_DAYS = serializers.IntegerField( - min_value=1, max_value=9999, + min_value=MIN_VALUE, max_value=9999, label=_("Task log keep days (day)"), ) OPERATE_LOG_KEEP_DAYS = serializers.IntegerField( - min_value=1, max_value=9999, + min_value=MIN_VALUE, max_value=9999, label=_("Operate log keep days (day)"), ) FTP_LOG_KEEP_DAYS = serializers.IntegerField( - min_value=1, max_value=9999, + min_value=MIN_VALUE, max_value=9999, label=_("FTP log keep days (day)"), ) CLOUD_SYNC_TASK_EXECUTION_KEEP_DAYS = serializers.IntegerField( - min_value=1, max_value=9999, + min_value=MIN_VALUE, max_value=9999, label=_("Cloud sync record keep days (day)"), ) ACTIVITY_LOG_KEEP_DAYS = serializers.IntegerField( - min_value=1, max_value=9999, + min_value=MIN_VALUE, max_value=9999, label=_("Activity log keep days (day)"), ) TERMINAL_SESSION_KEEP_DURATION = serializers.IntegerField( - min_value=1, max_value=99999, required=True, label=_('Session keep duration (day)'), + min_value=MIN_VALUE, max_value=99999, required=True, label=_('Session keep duration (day)'), help_text=_( 'Session, record, command will be delete if more than duration, only in database, OSS will not be affected.') ) - MIN_DAYS_THRESHOLD = 180 - - def validate(self, attrs): - attrs = super().validate(attrs) - if not settings.LIMIT_SUPER_PRIV: - return attrs - - error_names = [ - name for name in settings.LOG_NAMES - if attrs.get(name, 0) < self.MIN_DAYS_THRESHOLD - ] - if error_names: - error_message = _('must be greater than {} days.').format(self.MIN_DAYS_THRESHOLD) - raise ValidationError({name: error_message for name in error_names}) - return attrs