From a5361c15a1381e9423368b6dbf7eb78d38a29491 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 3 Sep 2025 06:38:38 +0000 Subject: [PATCH 1/5] chore: sync VERSION file with release v1.1.126 [skip ci] --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 599d6ff7..5bd0c3a6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.125 +1.1.126 From 8ab8cf4a7a0bb09e842484d0900ffbbcf3cea203 Mon Sep 17 00:00:00 2001 From: Feng Yue <2525275@gmail.com> Date: Wed, 3 Sep 2025 16:03:43 +0800 Subject: [PATCH 2/5] fix: user role filtering issue --- src/routes/admin.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/routes/admin.js b/src/routes/admin.js index 31792278..33199f4d 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -30,7 +30,24 @@ const router = express.Router() router.get('/users', authenticateAdmin, async (req, res) => { try { const userService = require('../services/userService') - const result = await userService.getAllUsers({ isActive: true, limit: 1000 }) // Get all active users + + // Extract query parameters for filtering + const { role, isActive } = req.query + const options = { limit: 1000 } + + // Apply role filter if provided + if (role) { + options.role = role + } + + // Apply isActive filter if provided, otherwise default to active users only + if (isActive !== undefined) { + options.isActive = isActive === 'true' + } else { + options.isActive = true // Default to active users for backwards compatibility + } + + const result = await userService.getAllUsers(options) // Extract users array from the paginated result const allUsers = result.users || [] From eba52a6e889712de858419f247265fc27e5c61c6 Mon Sep 17 00:00:00 2001 From: Feng Yue <2525275@gmail.com> Date: Wed, 3 Sep 2025 16:10:26 +0800 Subject: [PATCH 3/5] fix: improve frontend parameter handling for user role filtering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Only send parameters with actual values to avoid undefined values in API calls - Ensures 'All Roles' filter works correctly by not sending role parameter - Works together with backend filtering fix from previous commit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- web/admin-spa/src/views/UserManagementView.vue | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/web/admin-spa/src/views/UserManagementView.vue b/web/admin-spa/src/views/UserManagementView.vue index df4f69b7..01b430b4 100644 --- a/web/admin-spa/src/views/UserManagementView.vue +++ b/web/admin-spa/src/views/UserManagementView.vue @@ -554,13 +554,17 @@ const formatDate = (dateString) => { const loadUsers = async () => { loading.value = true try { + // Build params object, only including parameters with actual values + const params = {} + if (selectedRole.value && selectedRole.value.trim() !== '') { + params.role = selectedRole.value + } + if (selectedStatus.value !== '') { + params.isActive = selectedStatus.value + } + const [usersResponse, statsResponse] = await Promise.all([ - apiClient.get('/users', { - params: { - role: selectedRole.value || undefined, - isActive: selectedStatus.value !== '' ? selectedStatus.value : undefined - } - }), + apiClient.get('/users', { params }), apiClient.get('/users/stats/overview') ]) From 3e6b7c729f632ab4d86647e31bbac17e264a828a Mon Sep 17 00:00:00 2001 From: Feng Yue <2525275@gmail.com> Date: Wed, 3 Sep 2025 16:11:57 +0800 Subject: [PATCH 4/5] fix: prettier issue --- web/admin-spa/src/views/UserManagementView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/admin-spa/src/views/UserManagementView.vue b/web/admin-spa/src/views/UserManagementView.vue index 01b430b4..dbe1e5f0 100644 --- a/web/admin-spa/src/views/UserManagementView.vue +++ b/web/admin-spa/src/views/UserManagementView.vue @@ -562,7 +562,7 @@ const loadUsers = async () => { if (selectedStatus.value !== '') { params.isActive = selectedStatus.value } - + const [usersResponse, statsResponse] = await Promise.all([ apiClient.get('/users', { params }), apiClient.get('/users/stats/overview') From 631931990b00a41ea9afc78b81bc2b12cc76eed3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 3 Sep 2025 09:30:14 +0000 Subject: [PATCH 5/5] chore: sync VERSION file with release v1.1.127 [skip ci] --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5bd0c3a6..c3c6aefa 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.126 +1.1.127