Files
BYW-VoiceHub/server/api/admin/database/cleanup.post.ts
T
Henry_Du 4ce4649aaf
Build VoiceHub FPK / build-fpk (push) Failing after 56m5s
Build and Push Docker Image / build-and-push (push) Canceled after 1h9m35s
初次提交
2026-09-06 08:19:02 +08:00

35 lines
974 B
TypeScript

import { verifyAdminAuth } from '~~/server/utils/auth'
import { databaseManager } from '~~/server/utils/database-manager'
export default defineEventHandler(async (event) => {
try {
// 验证管理员权限
await verifyAdminAuth(event)
// 清理过期会话
const cleanedCount = await databaseManager.cleanupExpiredSessions()
// 清除健康检查缓存以确保下次检查获取最新状态
databaseManager.clearHealthCheckCache()
return {
success: true,
message: `Successfully cleaned up ${cleanedCount} expired sessions`,
cleanedCount,
timestamp: new Date().toISOString()
}
} catch (error) {
if (error instanceof Error && error.message.includes('认证')) {
throw createError({
statusCode: 401,
statusMessage: 'Unauthorized'
})
}
throw createError({
statusCode: 500,
statusMessage: error instanceof Error ? error.message : 'Cleanup failed'
})
}
})