mirror of
				https://github.com/jumpserver/jumpserver.git
				synced 2025-11-03 23:47:27 +00:00 
			
		
		
		
	* perf: 优化confirm接口 * perf: 修改 校验 * perf: 优化 confirm API 逻辑 * Delete django.po Co-authored-by: feng626 <1304903146@qq.com> Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: Jiangjie.Bai <bugatti_it@163.com> Co-authored-by: feng626 <57284900+feng626@users.noreply.github.com>
		
			
				
	
	
		
			35 lines
		
	
	
		
			929 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			929 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from rest_framework.views import APIView
 | 
						|
from rest_framework.request import Request
 | 
						|
from rest_framework.response import Response
 | 
						|
 | 
						|
from users.models import User
 | 
						|
from common.utils import get_logger
 | 
						|
from common.permissions import UserConfirmation
 | 
						|
from common.mixins.api import RoleUserMixin, RoleAdminMixin
 | 
						|
from authentication.const import ConfirmType
 | 
						|
from authentication import errors
 | 
						|
 | 
						|
logger = get_logger(__file__)
 | 
						|
 | 
						|
 | 
						|
class WeComQRUnBindBase(APIView):
 | 
						|
    user: User
 | 
						|
 | 
						|
    def post(self, request: Request, **kwargs):
 | 
						|
        user = self.user
 | 
						|
 | 
						|
        if not user.wecom_id:
 | 
						|
            raise errors.WeComNotBound
 | 
						|
 | 
						|
        user.wecom_id = None
 | 
						|
        user.save()
 | 
						|
        return Response()
 | 
						|
 | 
						|
 | 
						|
class WeComQRUnBindForUserApi(RoleUserMixin, WeComQRUnBindBase):
 | 
						|
    permission_classes = (UserConfirmation.require(ConfirmType.ReLogin),)
 | 
						|
 | 
						|
 | 
						|
class WeComQRUnBindForAdminApi(RoleAdminMixin, WeComQRUnBindBase):
 | 
						|
    user_id_url_kwarg = 'user_id'
 |