mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-13 13:59:17 +00:00
perf: account template secret api (#9127)
Co-authored-by: feng <1304903146@qq.com>
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
from orgs.mixins.api import OrgBulkModelViewSet
|
|
||||||
from assets.models import AccountTemplate
|
|
||||||
from assets import serializers
|
from assets import serializers
|
||||||
|
from assets.models import AccountTemplate
|
||||||
|
from rbac.permissions import RBACPermission
|
||||||
|
from authentication.const import ConfirmType
|
||||||
|
from common.mixins import RecordViewLogMixin
|
||||||
|
from common.permissions import UserConfirmation
|
||||||
|
from orgs.mixins.api import OrgBulkModelViewSet
|
||||||
|
|
||||||
|
|
||||||
class AccountTemplateViewSet(OrgBulkModelViewSet):
|
class AccountTemplateViewSet(OrgBulkModelViewSet):
|
||||||
@@ -10,3 +14,16 @@ class AccountTemplateViewSet(OrgBulkModelViewSet):
|
|||||||
serializer_classes = {
|
serializer_classes = {
|
||||||
'default': serializers.AccountTemplateSerializer
|
'default': serializers.AccountTemplateSerializer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class AccountTemplateSecretsViewSet(RecordViewLogMixin, AccountTemplateViewSet):
|
||||||
|
serializer_classes = {
|
||||||
|
'default': serializers.AccountTemplateSecretSerializer,
|
||||||
|
}
|
||||||
|
http_method_names = ['get', 'options']
|
||||||
|
# Todo: 记得打开
|
||||||
|
# permission_classes = [RBACPermission, UserConfirmation.require(ConfirmType.MFA)]
|
||||||
|
rbac_perms = {
|
||||||
|
'list': 'assets.view_accounttemplatesecret',
|
||||||
|
'retrieve': 'assets.view_accounttemplatesecret',
|
||||||
|
}
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
from common.drf.serializers import SecretReadableMixin
|
||||||
from assets.models import AccountTemplate
|
from assets.models import AccountTemplate
|
||||||
from .base import BaseAccountSerializer
|
from .base import BaseAccountSerializer
|
||||||
|
|
||||||
@@ -17,3 +18,10 @@ class AccountTemplateSerializer(BaseAccountSerializer):
|
|||||||
# if not required_field_dict:
|
# if not required_field_dict:
|
||||||
# return
|
# return
|
||||||
# raise serializers.ValidationError(required_field_dict)
|
# raise serializers.ValidationError(required_field_dict)
|
||||||
|
|
||||||
|
|
||||||
|
class AccountTemplateSecretSerializer(SecretReadableMixin, AccountTemplateSerializer):
|
||||||
|
class Meta(AccountTemplateSerializer.Meta):
|
||||||
|
extra_kwargs = {
|
||||||
|
'secret': {'write_only': False},
|
||||||
|
}
|
||||||
|
@@ -16,6 +16,7 @@ router.register(r'webs', api.WebViewSet, 'web')
|
|||||||
router.register(r'clouds', api.CloudViewSet, 'cloud')
|
router.register(r'clouds', api.CloudViewSet, 'cloud')
|
||||||
router.register(r'accounts', api.AccountViewSet, 'account')
|
router.register(r'accounts', api.AccountViewSet, 'account')
|
||||||
router.register(r'account-templates', api.AccountTemplateViewSet, 'account-template')
|
router.register(r'account-templates', api.AccountTemplateViewSet, 'account-template')
|
||||||
|
router.register(r'account-template-secrets', api.AccountTemplateSecretsViewSet, 'account-template-secret')
|
||||||
router.register(r'account-secrets', api.AccountSecretsViewSet, 'account-secret')
|
router.register(r'account-secrets', api.AccountSecretsViewSet, 'account-secret')
|
||||||
router.register(r'platforms', api.AssetPlatformViewSet, 'platform')
|
router.register(r'platforms', api.AssetPlatformViewSet, 'platform')
|
||||||
router.register(r'labels', api.LabelViewSet, 'label')
|
router.register(r'labels', api.LabelViewSet, 'label')
|
||||||
|
Reference in New Issue
Block a user