|
24 | 24 | from tools.serializers.tool import encryption |
25 | 25 | from users.api.user import UserProfileAPI, TestWorkspacePermissionUserApi, DeleteUserApi, EditUserApi, \ |
26 | 26 | ChangeUserPasswordApi, UserPageApi, UserListApi, UserPasswordResponse, WorkspaceUserAPI, ResetPasswordAPI, \ |
27 | | - SendEmailAPI, CheckCodeAPI |
| 27 | + SendEmailAPI, CheckCodeAPI, SwitchUserLanguageAPI |
28 | 28 | from users.models import User |
29 | 29 | from users.serializers.user import UserProfileSerializer, UserManageSerializer, CheckCodeSerializer, \ |
30 | | - SendEmailSerializer, RePasswordSerializer |
| 30 | + SendEmailSerializer, RePasswordSerializer, SwitchLanguageSerializer |
31 | 31 |
|
32 | 32 | default_password = CONFIG.get('default_password', 'MaxKB@123..') |
33 | 33 |
|
@@ -81,6 +81,23 @@ def get(self, request: Request): |
81 | 81 | return result.success(UserProfileSerializer().profile(request.user, request.auth)) |
82 | 82 |
|
83 | 83 |
|
| 84 | +class SwitchUserLanguageView(APIView): |
| 85 | + authentication_classes = [TokenAuth] |
| 86 | + |
| 87 | + @extend_schema(methods=['POST'], |
| 88 | + summary=_("Switch Language"), |
| 89 | + description=_("Switch Language"), |
| 90 | + operation_id=_("Switch Language"), # type: ignore |
| 91 | + tags=[_("User Management")], # type: ignore |
| 92 | + request=SwitchUserLanguageAPI.get_request(), |
| 93 | + ) |
| 94 | + @log(menu='User management', operate='Switch Language', |
| 95 | + get_operation_object=lambda r, k: {'name': r.user.username}) |
| 96 | + def post(self, request: Request): |
| 97 | + data = {**request.data, 'user_id': request.user.id} |
| 98 | + return result.success(SwitchLanguageSerializer(data=data).switch()) |
| 99 | + |
| 100 | + |
84 | 101 | class TestWorkspacePermissionUserView(APIView): |
85 | 102 | authentication_classes = [TokenAuth] |
86 | 103 |
|
|
0 commit comments