mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 09:16:17 +00:00
@@ -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 || []
|
||||
|
||||
@@ -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')
|
||||
])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user