mirror of https://github.com/jumpserver/jumpserver
feat: sms setting
parent
f12a59da2f
commit
4a436856b4
|
@ -34,6 +34,7 @@ class SettingsApi(generics.RetrieveUpdateAPIView):
|
||||||
'sso': serializers.SSOSettingSerializer,
|
'sso': serializers.SSOSettingSerializer,
|
||||||
'clean': serializers.CleaningSerializer,
|
'clean': serializers.CleaningSerializer,
|
||||||
'other': serializers.OtherSettingSerializer,
|
'other': serializers.OtherSettingSerializer,
|
||||||
|
'sms': serializers.SMSSettingSerializer,
|
||||||
'alibaba': serializers.AlibabaSMSSettingSerializer,
|
'alibaba': serializers.AlibabaSMSSettingSerializer,
|
||||||
'tencent': serializers.TencentSMSSettingSerializer,
|
'tencent': serializers.TencentSMSSettingSerializer,
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,21 +3,24 @@ from rest_framework import serializers
|
||||||
|
|
||||||
from common.message.backends.sms import BACKENDS
|
from common.message.backends.sms import BACKENDS
|
||||||
|
|
||||||
__all__ = ['AlibabaSMSSettingSerializer', 'TencentSMSSettingSerializer']
|
__all__ = ['SMSSettingSerializer', 'AlibabaSMSSettingSerializer', 'TencentSMSSettingSerializer']
|
||||||
|
|
||||||
|
|
||||||
|
class SMSSettingSerializer(serializers.Serializer):
|
||||||
|
SMS_ENABLED = serializers.BooleanField(default=False, label=_('Enable SMS'))
|
||||||
|
SMS_BACKEND = serializers.ChoiceField(choices=BACKENDS.choices, default=BACKENDS.ALIBABA)
|
||||||
|
|
||||||
|
|
||||||
class BaseSMSSettingSerializer(serializers.Serializer):
|
class BaseSMSSettingSerializer(serializers.Serializer):
|
||||||
SMS_ENABLED = serializers.BooleanField(default=False, label=_('Enable SMS'))
|
|
||||||
SMS_TEST_PHONE = serializers.CharField(max_length=256, required=False, label=_('Test phone'))
|
SMS_TEST_PHONE = serializers.CharField(max_length=256, required=False, label=_('Test phone'))
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
data = super().to_representation(instance)
|
data = super().to_representation(instance)
|
||||||
data['SMS_BACKEND'] = self.fields['SMS_BACKEND'].default
|
# data['SMS_BACKEND'] = self.fields['SMS_BACKEND'].default
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
class AlibabaSMSSettingSerializer(BaseSMSSettingSerializer):
|
class AlibabaSMSSettingSerializer(BaseSMSSettingSerializer):
|
||||||
SMS_BACKEND = serializers.ChoiceField(choices=BACKENDS.choices, default=BACKENDS.ALIBABA)
|
|
||||||
ALIBABA_ACCESS_KEY_ID = serializers.CharField(max_length=256, required=True, label='AccessKeyId')
|
ALIBABA_ACCESS_KEY_ID = serializers.CharField(max_length=256, required=True, label='AccessKeyId')
|
||||||
ALIBABA_ACCESS_KEY_SECRET = serializers.CharField(
|
ALIBABA_ACCESS_KEY_SECRET = serializers.CharField(
|
||||||
max_length=256, required=False, label='AccessKeySecret', write_only=True)
|
max_length=256, required=False, label='AccessKeySecret', write_only=True)
|
||||||
|
@ -35,7 +38,6 @@ class AlibabaSMSSettingSerializer(BaseSMSSettingSerializer):
|
||||||
|
|
||||||
|
|
||||||
class TencentSMSSettingSerializer(BaseSMSSettingSerializer):
|
class TencentSMSSettingSerializer(BaseSMSSettingSerializer):
|
||||||
SMS_BACKEND = serializers.ChoiceField(choices=BACKENDS.choices, default=BACKENDS.TENCENT)
|
|
||||||
TENCENT_SECRET_ID = serializers.CharField(max_length=256, required=True, label='Secret id')
|
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_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_SDKAPPID = serializers.CharField(max_length=256, required=True, label='SDK app id')
|
||||||
|
|
Loading…
Reference in New Issue