Skip to content

Commit 35ed9fc

Browse files
authored
fix(health): ZMSA-4: health endpoint also add WD API version (#890)
* health endpoints add also WD API version * rename error response object * fix HealthErrorResponse
1 parent c936bbb commit 35ed9fc

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

lib/api/health.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const Joi = require('joi');
44
const tools = require('../tools');
55
const { successRes } = require('../schemas/response/general-schemas');
6+
const packageData = require('../../package.json');
67

78
module.exports = (db, server, loggelf) => {
89
server.get(
@@ -19,14 +20,18 @@ module.exports = (db, server, loggelf) => {
1920
response: {
2021
200: {
2122
description: 'Success',
22-
model: Joi.object({ success: successRes }).$_setFlag('objectName', 'SuccessResponse')
23+
model: Joi.object({
24+
success: successRes,
25+
version: Joi.string().required().description('Currently running Wildduck API version')
26+
}).$_setFlag('objectName', 'HealthSuccessResponse')
2327
},
2428
500: {
2529
description: 'Failed',
2630
model: Joi.object({
2731
success: successRes,
28-
message: Joi.string().required().description('Error message specifying what went wrong').$_setFlag('objectName', 'ErrorResponse')
29-
})
32+
version: Joi.string().required().description('Currently running Wildduck API version'),
33+
message: Joi.string().required().description('Error message specifying what went wrong')
34+
}).$_setFlag('objectName', 'HealthErrorResponse')
3035
}
3136
}
3237
}
@@ -44,6 +49,7 @@ module.exports = (db, server, loggelf) => {
4449
res.status(500);
4550
return res.json({
4651
success: false,
52+
version: packageData.version,
4753
message: 'DB is down'
4854
});
4955
}
@@ -55,6 +61,7 @@ module.exports = (db, server, loggelf) => {
5561
res.status(500);
5662
return res.json({
5763
success: false,
64+
version: packageData.version,
5865
message: 'DB is down'
5966
});
6067
}
@@ -73,6 +80,7 @@ module.exports = (db, server, loggelf) => {
7380
res.status(500);
7481
return res.json({
7582
success: false,
83+
version: packageData.version,
7684
message: 'Could not write to DB'
7785
});
7886
}
@@ -89,6 +97,7 @@ module.exports = (db, server, loggelf) => {
8997
res.status(500);
9098
return res.json({
9199
success: false,
100+
version: packageData.version,
92101
message: 'Redis is down'
93102
});
94103
}
@@ -113,12 +122,13 @@ module.exports = (db, server, loggelf) => {
113122
res.status(500);
114123
return res.json({
115124
success: false,
125+
version: packageData.version,
116126
message: 'Redis is not writeable/readable'
117127
});
118128
}
119129

120130
res.status(200);
121-
return res.json({ success: true });
131+
return res.json({ success: true, version: packageData.version });
122132
})
123133
);
124134
};

0 commit comments

Comments
 (0)