mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 09:38:02 +00:00
fix: user stats in admin panel again
This commit is contained in:
@@ -424,25 +424,44 @@ router.get('/:userId', authenticateUserOrAdmin, requireAdmin, async (req, res) =
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取用户的API Keys
|
// 获取用户的API Keys(包括已删除的以保留统计数据)
|
||||||
const apiKeys = await apiKeyService.getUserApiKeys(userId)
|
const apiKeys = await apiKeyService.getUserApiKeys(userId, true)
|
||||||
|
|
||||||
res.json({
|
res.json({
|
||||||
success: true,
|
success: true,
|
||||||
user: {
|
user: {
|
||||||
...user,
|
...user,
|
||||||
apiKeys: apiKeys.map((key) => ({
|
apiKeys: apiKeys.map((key) => {
|
||||||
id: key.id,
|
// Flatten usage structure for frontend compatibility
|
||||||
name: key.name,
|
let flatUsage = {
|
||||||
description: key.description,
|
requests: 0,
|
||||||
isActive: key.isActive,
|
inputTokens: 0,
|
||||||
createdAt: key.createdAt,
|
outputTokens: 0,
|
||||||
lastUsedAt: key.lastUsedAt,
|
totalCost: 0
|
||||||
usage: key.usage,
|
}
|
||||||
keyPreview: key.key
|
|
||||||
? `${key.key.substring(0, 8)}...${key.key.substring(key.key.length - 4)}`
|
if (key.usage && key.usage.total) {
|
||||||
: null
|
flatUsage = {
|
||||||
}))
|
requests: key.usage.total.requests || 0,
|
||||||
|
inputTokens: key.usage.total.inputTokens || 0,
|
||||||
|
outputTokens: key.usage.total.outputTokens || 0,
|
||||||
|
totalCost: key.totalCost || 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
id: key.id,
|
||||||
|
name: key.name,
|
||||||
|
description: key.description,
|
||||||
|
isActive: key.isActive,
|
||||||
|
createdAt: key.createdAt,
|
||||||
|
lastUsedAt: key.lastUsedAt,
|
||||||
|
usage: flatUsage,
|
||||||
|
keyPreview: key.key
|
||||||
|
? `${key.key.substring(0, 8)}...${key.key.substring(key.key.length - 4)}`
|
||||||
|
: null
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user