mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
@@ -30,7 +30,24 @@ const router = express.Router()
|
|||||||
router.get('/users', authenticateAdmin, async (req, res) => {
|
router.get('/users', authenticateAdmin, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const userService = require('../services/userService')
|
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
|
// Extract users array from the paginated result
|
||||||
const allUsers = result.users || []
|
const allUsers = result.users || []
|
||||||
|
|||||||
@@ -554,13 +554,17 @@ const formatDate = (dateString) => {
|
|||||||
const loadUsers = async () => {
|
const loadUsers = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
try {
|
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([
|
const [usersResponse, statsResponse] = await Promise.all([
|
||||||
apiClient.get('/users', {
|
apiClient.get('/users', { params }),
|
||||||
params: {
|
|
||||||
role: selectedRole.value || undefined,
|
|
||||||
isActive: selectedStatus.value !== '' ? selectedStatus.value : undefined
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
apiClient.get('/users/stats/overview')
|
apiClient.get('/users/stats/overview')
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user