perf: 优化 Connection Token API 逻辑处理

This commit is contained in:
Jiangjie.Bai
2022-11-08 14:30:07 +08:00
parent df14d01859
commit cd93de4c00
5 changed files with 11 additions and 11 deletions

View File

@@ -178,8 +178,6 @@ class ExtraActionApiMixin(RDPFileClientProtocolURLMixin):
get_object: callable
get_serializer: callable
perform_create: callable
check_token_permission: callable
create_connection_token: callable
@action(methods=['POST'], detail=False, url_path='secret-info/detail')
def get_secret_detail(self, request, *args, **kwargs):
@@ -277,10 +275,10 @@ class ConnectionTokenViewSet(ExtraActionApiMixin, RootOrgViewMixin, JMSModelView
from perms.utils.account import PermAccountUtil
actions, expire_at = PermAccountUtil().validate_permission(user, asset, account_username)
if not actions:
error = ''
error = 'No actions'
raise PermissionDenied(error)
if expire_at < time.time():
error = ''
error = 'Expired'
raise PermissionDenied(error)

View File

@@ -85,7 +85,7 @@ class ConnectionToken(OrgModelMixin, JMSBaseModel):
is_valid = False
error = _('No user or invalid user')
return is_valid, error
if not self.asset or self.asset.is_active:
if not self.asset or not self.asset.is_active:
is_valid = False
error = _('No asset or inactive asset')
return is_valid, error

View File

@@ -159,7 +159,7 @@ class ConnectionTokenSecretSerializer(OrgResourceModelSerializerMixin):
domain = ConnectionTokenDomainSerializer(read_only=True)
cmd_filter_rules = ConnectionTokenCmdFilterRuleSerializer(many=True)
actions = ActionsField()
expired_at = serializers.IntegerField()
expire_at = serializers.IntegerField()
class Meta:
model = ConnectionToken
@@ -167,5 +167,5 @@ class ConnectionTokenSecretSerializer(OrgResourceModelSerializerMixin):
'id', 'secret',
'user', 'asset', 'account_username', 'account', 'protocol',
'domain', 'gateway', 'cmd_filter_rules',
'actions', 'expired_at',
'actions', 'expire_at',
]