From 6c342e02f04504a48128e0e7f65abceb1f276eee Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Wed, 11 Jun 2025 18:29:26 +0800 Subject: [PATCH] refactor: add all user list --- apps/users/serializers/user.py | 4 ++++ apps/users/urls.py | 1 + apps/users/views/user.py | 13 +++++++++++++ 3 files changed, 18 insertions(+) diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index e95dc7f6a..0c3a7b7fc 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -479,6 +479,10 @@ class UserManageSerializer(serializers.Serializer): User.objects.filter(id__in=ids).delete() return True + def get_all_user_list(self): + users = User.objects.all().values('id', 'nick_name', 'username') + return list(users) + def update_user_role(instance, user): workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping") diff --git a/apps/users/urls.py b/apps/users/urls.py index d1b500905..a861ac66a 100644 --- a/apps/users/urls.py +++ b/apps/users/urls.py @@ -14,6 +14,7 @@ urlpatterns = [ path("user/re_password", views.RePasswordView.as_view(), name='re_password'), path("user/current/send_email", views.SendEmailToCurrentUserView.as_view(), name="send_email_current"), path("user/current/reset_password", views.ResetCurrentUserPasswordView.as_view(), name="reset_password_current"), + path("user/list", views.UserList.as_view(), name="current_user_profile"), path('workspace//user_list', views.WorkspaceUserListView.as_view(), name="test_workspace_id_permission"), path('workspace//user_member',views.WorkspaceUserMemberView.as_view(), diff --git a/apps/users/views/user.py b/apps/users/views/user.py index 14a4e7447..a02395b1d 100644 --- a/apps/users/views/user.py +++ b/apps/users/views/user.py @@ -96,6 +96,19 @@ class TestWorkspacePermissionUserView(APIView): return result.success(UserProfileSerializer().profile(request.user, request.auth)) +class UserList(APIView): + authentication_classes = [TokenAuth] + + @extend_schema(methods=['GET'], + summary=_("Get all user"), + description=_("Get all user"), + operation_id=_("Get all user"), # type: ignore + tags=[_("User Management")], # type: ignore + responses=UserListApi.get_response()) + def get(self, request: Request): + return result.success(UserManageSerializer().get_all_user_list()) + + class WorkspaceUserListView(APIView): authentication_classes = [TokenAuth]