fix: user stats in admin panel again

This commit is contained in:
Feng Yue
2025-08-14 11:29:35 +08:00
parent 9efe429912
commit 70e87de639

View File

@@ -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) {