mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
show owner's name in apikey management page
This commit is contained in:
@@ -63,6 +63,9 @@ router.get('/api-keys', authenticateAdmin, async (req, res) => {
|
||||
const { timeRange = 'all' } = req.query // all, 7days, monthly
|
||||
const apiKeys = await apiKeyService.getAllApiKeys()
|
||||
|
||||
// 获取用户服务来补充owner信息
|
||||
const userService = require('../services/userService')
|
||||
|
||||
// 根据时间范围计算查询模式
|
||||
const now = new Date()
|
||||
const searchPatterns = []
|
||||
@@ -313,6 +316,28 @@ router.get('/api-keys', authenticateAdmin, async (req, res) => {
|
||||
}
|
||||
}
|
||||
|
||||
// 为每个API Key添加owner的displayName
|
||||
for (const apiKey of apiKeys) {
|
||||
// 如果API Key有关联的用户ID,获取用户信息
|
||||
if (apiKey.userId) {
|
||||
try {
|
||||
const user = await userService.getUserById(apiKey.userId, false)
|
||||
if (user) {
|
||||
apiKey.ownerDisplayName = user.displayName || user.username || 'Unknown User'
|
||||
} else {
|
||||
apiKey.ownerDisplayName = 'Unknown User'
|
||||
}
|
||||
} catch (error) {
|
||||
logger.debug(`无法获取用户 ${apiKey.userId} 的信息:`, error)
|
||||
apiKey.ownerDisplayName = 'Unknown User'
|
||||
}
|
||||
} else {
|
||||
// 如果没有userId,使用createdBy字段或默认为Admin
|
||||
apiKey.ownerDisplayName =
|
||||
apiKey.createdBy === 'admin' ? 'Admin' : apiKey.createdBy || 'Admin'
|
||||
}
|
||||
}
|
||||
|
||||
return res.json({ success: true, data: apiKeys })
|
||||
} catch (error) {
|
||||
logger.error('❌ Failed to get API keys:', error)
|
||||
|
||||
Reference in New Issue
Block a user