mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-24 21:08:30 +00:00
perf: 优化短信 (#6826)
* perf: 优化短信 * refactor: 适配新的短信模板配置 Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: xinwen <coderWen@126.com>
This commit is contained in:
@@ -8,12 +8,14 @@ __all__ = ['SMSSettingSerializer', 'AlibabaSMSSettingSerializer', 'TencentSMSSet
|
||||
|
||||
class SMSSettingSerializer(serializers.Serializer):
|
||||
SMS_ENABLED = serializers.BooleanField(default=False, label=_('Enable SMS'))
|
||||
SMS_BACKEND = serializers.ChoiceField(choices=BACKENDS.choices, default=BACKENDS.ALIBABA, label=_('SMS provider'))
|
||||
SMS_BACKEND = serializers.ChoiceField(
|
||||
choices=BACKENDS.choices, default=BACKENDS.ALIBABA, label=_('SMS provider')
|
||||
)
|
||||
|
||||
|
||||
class SignAndTmplPairSerializer(serializers.Serializer):
|
||||
sign_name = serializers.CharField(max_length=256, required=True, label=_('Signature'))
|
||||
template_code = serializers.CharField(max_length=256, required=True, label=_('Template'))
|
||||
class SignTmplPairSerializer(serializers.Serializer):
|
||||
SIGN_NAME = serializers.CharField(max_length=256, required=True, label=_('Signature'))
|
||||
TEMPLATE_CODE = serializers.CharField(max_length=256, required=True, label=_('Template code'))
|
||||
|
||||
|
||||
class BaseSMSSettingSerializer(serializers.Serializer):
|
||||
@@ -25,23 +27,18 @@ class BaseSMSSettingSerializer(serializers.Serializer):
|
||||
return data
|
||||
|
||||
|
||||
class SignAndTmplSerializer(serializers.Serializer):
|
||||
verification_code = SignAndTmplPairSerializer(default={'sign_name': '', 'template_code': ''})
|
||||
|
||||
|
||||
class AlibabaSMSSettingSerializer(BaseSMSSettingSerializer):
|
||||
ALIBABA_ACCESS_KEY_ID = serializers.CharField(max_length=256, required=True, label='AccessKeyId')
|
||||
ALIBABA_ACCESS_KEY_SECRET = serializers.CharField(
|
||||
max_length=256, required=False, label='AccessKeySecret', write_only=True)
|
||||
ALIBABA_SMS_SIGN_AND_TEMPLATES = SignAndTmplSerializer(
|
||||
label=_('Signatures and Templates'), required=True
|
||||
max_length=256, required=False, label='AccessKeySecret', write_only=True
|
||||
)
|
||||
ALIBABA_VERIFY_SIGN_NAME = serializers.CharField(max_length=256, required=True, label=_('Signature'))
|
||||
ALIBABA_VERIFY_TEMPLATE_CODE = serializers.CharField(max_length=256, required=True, label=_('Template code'))
|
||||
|
||||
|
||||
class TencentSMSSettingSerializer(BaseSMSSettingSerializer):
|
||||
TENCENT_SECRET_ID = serializers.CharField(max_length=256, required=True, label='Secret id')
|
||||
TENCENT_SECRET_KEY = serializers.CharField(max_length=256, required=False, label='Secret key', write_only=True)
|
||||
TENCENT_SDKAPPID = serializers.CharField(max_length=256, required=True, label='SDK app id')
|
||||
TENCENT_SMS_SIGN_AND_TEMPLATES = SignAndTmplSerializer(
|
||||
label=_('Signatures and Templates'), required=True
|
||||
)
|
||||
TENCENT_VERIFY_SIGN_NAME = serializers.CharField(max_length=256, required=True, label=_('Signature'))
|
||||
TENCENT_VERIFY_TEMPLATE_CODE = serializers.CharField(max_length=256, required=True, label=_('Template code'))
|
||||
|
@@ -1,5 +1,3 @@
|
||||
from abc import ABCMeta
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
@@ -17,8 +15,12 @@ class OtherSettingSerializer(serializers.Serializer):
|
||||
OTP_VALID_WINDOW = serializers.IntegerField(label=_("OTP valid window"))
|
||||
|
||||
PERIOD_TASK_ENABLED = serializers.BooleanField(required=False, label=_("Enable period task"))
|
||||
WINDOWS_SSH_DEFAULT_SHELL = serializers.CharField(
|
||||
required=False, max_length=1024, label=_('Ansible windows default shell'),
|
||||
WINDOWS_SSH_DEFAULT_SHELL = serializers.ChoiceField(
|
||||
choices=[
|
||||
('cmd', _("CMD")),
|
||||
('powershell', _("PowerShell"))
|
||||
],
|
||||
label=_('Ansible windows default shell'),
|
||||
help_text=_('The shell type used when Windows assets perform ansible tasks')
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user