mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
feat: better healthcheck
This commit is contained in:
parent
6cd1cf7e9c
commit
46f016f661
8 changed files with 112 additions and 9 deletions
39
apps/web/app/api/health/route.ts
Normal file
39
apps/web/app/api/health/route.ts
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
export const dynamic = 'force-dynamic' // defaults to auto
|
||||
export const revalidate = 0
|
||||
|
||||
import { NextResponse } from 'next/server';
|
||||
import { checkHealth } from '@services/utils/health';
|
||||
|
||||
export async function GET() {
|
||||
const health = await checkHealth()
|
||||
if (health.success === true) {
|
||||
return NextResponse.json(
|
||||
{
|
||||
status: 'healthy',
|
||||
timestamp: new Date().toISOString(),
|
||||
health: health.data,
|
||||
},
|
||||
{
|
||||
status: 200,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
}
|
||||
)
|
||||
} else {
|
||||
return NextResponse.json(
|
||||
{
|
||||
status: 'unhealthy',
|
||||
timestamp: new Date().toISOString(),
|
||||
health: null,
|
||||
error: health.HTTPmessage,
|
||||
},
|
||||
{
|
||||
status: 503,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue