/**
* 健康檢查路由
*/
import { Router, type Request, type Response, type Router as RouterType } from 'express'
import type { HealthCheckResponse } from '@mcp-internal/shared'
import { getCacheStats } from '../services/fxcrm/personnel.js'
const router: RouterType = Router()
/**
* GET /health
* 基本健康檢查
*/
router.get('/', (_req: Request, res: Response) => {
const response: HealthCheckResponse = {
status: 'ok',
version: process.env.npm_package_version || '1.0.0',
timestamp: new Date().toISOString(),
}
res.json(response)
})
/**
* GET /health/detailed
* 詳細健康檢查(包含服務狀態)
*/
router.get('/detailed', async (_req: Request, res: Response) => {
const cacheStats = getCacheStats()
const response: HealthCheckResponse = {
status: 'ok',
version: process.env.npm_package_version || '1.0.0',
timestamp: new Date().toISOString(),
services: {
fxcrm: cacheStats.hasAccessToken ? 'ok' : 'error',
firestore: 'ok', // TODO: 實際檢查 Firestore 連線
},
}
res.json(response)
})
export default router