Skip to content

Commit 30fa255

Browse files
committed
fix: update endpoint health
1 parent e0ca338 commit 30fa255

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

src/routes/index.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import express, { type Request, type Response } from 'express'
22
import { env } from '~/config/env'
3+
import { redisService } from '~/config/redis'
34
import { BASE_URL_SERVER } from '~/core/constants/baseURL'
4-
import HttpResponse from '~/core/modules/response/HttpResponse'
55
import ErrorResponse from '~/core/modules/response/ErrorResponse'
6+
import HttpResponse from '~/core/modules/response/HttpResponse'
67
import { formatDateTime } from '~/core/utils/date'
8+
import db from '~/database/datasource'
79
import v1Routes from '~/routes/v1'
810

911
const route = express.Router()
12+
const expressVersion = require('express/package').version
13+
const sequelizeVersion = require('sequelize/package.json').version
14+
const appVersion = require(`${__dirname}/../../package.json`).version
1015

1116
route.get('/', function index(req: Request, res: Response) {
1217
let responseData: any = {
@@ -26,18 +31,25 @@ route.get('/', function index(req: Request, res: Response) {
2631
res.status(200).json(httpResponse)
2732
})
2833

29-
route.get('/health', function serverHealth(req: Request, res: Response) {
34+
route.get('/health', async (_req: Request, res: Response) => {
3035
const startUsage = process.cpuUsage()
3136

37+
const isConnectedDB = await db.sequelize?.query('SELECT 1')
38+
const connectedRedis = await redisService.ping()
39+
3240
const status = {
33-
uptime: process.uptime(),
34-
message: 'Ok',
3541
timezone: 'ID',
42+
database: isConnectedDB ? 'Ok' : 'Failed',
43+
redis: connectedRedis === 'PONG' ? 'Ok' : 'Failed',
3644
date: formatDateTime(new Date()),
3745
node: process.version,
38-
memory: process.memoryUsage,
46+
express: `v${expressVersion}`,
47+
sequelize: `v${sequelizeVersion}`,
48+
api: `v${appVersion}`,
3949
platform: process.platform,
50+
uptime: process.uptime(),
4051
cpu_usage: process.cpuUsage(startUsage),
52+
memory: process.memoryUsage(),
4153
}
4254

4355
const httpResponse = HttpResponse.get({

0 commit comments

Comments
 (0)