33const Joi = require ( 'joi' ) ;
44const tools = require ( '../tools' ) ;
55const { successRes } = require ( '../schemas/response/general-schemas' ) ;
6+ const packageData = require ( '../../package.json' ) ;
67
78module . 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