@pgds/api-interface 1.6.3 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/repositories/organizationHierarchyRepo.d.ts +6 -2
- package/lib/repositories/organizationHierarchyRepo.js +42 -25
- package/lib/repositories/organizationHierarchyRepo.js.map +1 -1
- package/lib/utils/utils.d.ts +12 -0
- package/lib/utils/utils.js +127 -0
- package/lib/utils/utils.js.map +1 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -125,6 +125,7 @@ var jsonSchemaUtils_1 = require("./utils/jsonSchemaUtils");
|
|
|
125
125
|
var logger_1 = require("./utils/logger");
|
|
126
126
|
var urlUtils_1 = require("./utils/urlUtils");
|
|
127
127
|
var organizationHierarchyRepo_1 = __importDefault(require("./repositories/organizationHierarchyRepo"));
|
|
128
|
+
var utils_1 = require("./utils/utils");
|
|
128
129
|
var mustbe = require("mustbe");
|
|
129
130
|
var Method;
|
|
130
131
|
(function (Method) {
|
|
@@ -425,6 +426,7 @@ function setupApiInterface(options) {
|
|
|
425
426
|
if (shouldRegisterMetadataEndpoint) {
|
|
426
427
|
registerMetadataEndpoint();
|
|
427
428
|
}
|
|
429
|
+
(0, utils_1.setupHealthChecks)();
|
|
428
430
|
return [2 /*return*/, server];
|
|
429
431
|
}
|
|
430
432
|
});
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,kBAKC;AAED,oBAKC;AAED,kBAKC;AAED,sBAKC;AAED,kBAKC;AAYD,4BAEC;AAkXD,sCAEC;AAID,wCAEC;AAED,8CAoDC;AApgBD,+BAAqC;AACrC,8CAAkC;AAElC,4DAAgD;AAChD,oDAAsD;AACtD,mDAAwE;AAExE,0CAAsD;AACtD,iDAA2D;AAC3D,2DAQiC;AACjC,yCAAsD;AACtD,6CAAyC;AACzC,uGAAiF;AACjF,uCAAkD;AAElD,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,IAAY,MAQX;AARD,WAAY,MAAM;IAChB,uBAAa,CAAA;IACb,qBAAW,CAAA;IACX,qBAAW,CAAA;IACX,yBAAe,CAAA;IACf,qBAAW,CAAA;IACX,uBAAa,CAAA;IACb,6BAAmB,CAAA;AACrB,CAAC,EARW,MAAM,sBAAN,MAAM,QAQjB;AAID,SAAgB,GAAG,CAAC,OAA6C;IAC/D,OAAO,gBAAgB,uBAClB,OAAO,KACV,MAAM,EAAE,MAAM,CAAC,GAAG,IAClB,CAAC;AACL,CAAC;AAED,SAAgB,IAAI,CAAC,OAA6C;IAChE,OAAO,gBAAgB,uBAClB,OAAO,KACV,MAAM,EAAE,MAAM,CAAC,IAAI,IACnB,CAAC;AACL,CAAC;AAED,SAAgB,GAAG,CAAC,OAA6C;IAC/D,OAAO,gBAAgB,uBAClB,OAAO,KACV,MAAM,EAAE,MAAM,CAAC,GAAG,IAClB,CAAC;AACL,CAAC;AAED,SAAgB,KAAK,CAAC,OAA6C;IACjE,OAAO,gBAAgB,uBAClB,OAAO,KACV,MAAM,EAAE,MAAM,CAAC,KAAK,IACpB,CAAC;AACL,CAAC;AAED,SAAgB,GAAG,CAAC,OAA6C;IAC/D,OAAO,gBAAgB,uBAClB,OAAO,KACV,MAAM,EAAE,MAAM,CAAC,GAAG,IAClB,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0C;IAClE,OAAO,gBAAgB,uBAClB,OAAO,KACV,QAAQ,EAAE,IAAI,IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,OAA0C;IACjE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAID,2DAA2D;AAC3D,QAAQ,CAAC,GAAG,GAAG,UAAC,OAAqD;IACnE,OAAA,gBAAgB,uBAAM,OAAO,KAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAG;AAApD,CAAoD,CAAC;AAEvD,2DAA2D;AAC3D,QAAQ,CAAC,IAAI,GAAG,UAAC,OAAqD;IACpE,OAAA,gBAAgB,uBAAM,OAAO,KAAE,MAAM,EAAE,MAAM,CAAC,IAAI,IAAG;AAArD,CAAqD,CAAC;AAExD,2DAA2D;AAC3D,QAAQ,CAAC,GAAG,GAAG,UAAC,OAAqD;IACnE,OAAA,gBAAgB,uBAAM,OAAO,KAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAG;AAApD,CAAoD,CAAC;AAEvD,2DAA2D;AAC3D,QAAQ,CAAC,KAAK,GAAG,UAAC,OAAqD;IACrE,OAAA,gBAAgB,uBAAM,OAAO,KAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAG;AAAtD,CAAsD,CAAC;AAEzD,2DAA2D;AAC3D,QAAQ,CAAC,GAAG,GAAG,UAAC,OAAqD;IACnE,OAAA,gBAAgB,uBAAM,OAAO,KAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAG;AAApD,CAAoD,CAAC;AA0G1C,QAAA,gBAAgB;IAG3B,GAAC,MAAM,CAAC,IAAI,IAAG,EAAE;IACjB,GAAC,MAAM,CAAC,GAAG,IAAG,EAAE;IAChB,GAAC,MAAM,CAAC,GAAG,IAAG,EAAE;IAChB,GAAC,MAAM,CAAC,KAAK,IAAG,EAAE;IAClB,GAAC,MAAM,CAAC,GAAG,IAAG,EAAE;IAChB,GAAC,MAAM,CAAC,IAAI,IAAG,EAAE;IACjB,UAAO,GAAE,EAAE;QACX;AAEF,SAAS,wBAAwB;IAAjC,iBAgBC;IAfC,IAAM,gBAAgB,GAAG,gBAAgB,CAAC;QACxC,IAAI,EAAE,WAAI,UAAU,CAAC,WAAW,cAAW;QAC3C,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;;gBACd,gFAAgF;gBAEhF,sBAAO;wBACL,IAAI,EAAE,wBAAgB;qBACvB,EAAC;;aACH;KACF,CAAC,CAAC;IAEH,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAwB;IAAlD,iBAkHC;;IAjHS,IAAA,cAAc,GAA8C,OAAO,eAArD,EAAE,IAAI,GAAwC,OAAO,KAA/C,EAAE,KAAsC,OAAO,cAAzB,EAApB,aAAa,mBAAG,IAAI,KAAA,EAAK,QAAQ,UAAK,OAAO,EAArE,2CAA2D,CAAF,CAAa;IAE5E,IAAI,aAAa,EAAE,CAAC;QAClB,wBAAgB,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACtE,CAAC;IAED,IAAM,EAAE,GAAG;;QACT,oBAAoB,EAAE,CAAC,IAAI,CAAC,gCAAyB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAI,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC;QAErG,IAAM,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3C,IAAI,YAAY,GAAiB;YAC/B,IAAI,EAAE,IAAA,gBAAK,EAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;SAC3E,CAAC;QAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,YAAY,yBAAQ,YAAY,GAAK,OAAO,CAAC,IAAI,CAAE,CAAC;QACtD,CAAC;QAED,IAAM,eAAe,GAAU,EAAE,CAAC;QAElC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEjG,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,eAAe,CAAC,IAAI,OAApB,eAAe,EAAS,OAAO,CAAC,eAAe,EAAE;QACnD,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,eAAe,EAAE,4BAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,4BAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,WAAW,EAAE,4BAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,eAAe,GAAU,EAAE,CAAC;QAEhC,IAAI,cAAE,IAAI,qBAAS,EAAE,CAAC;YACpB,eAAe,GAAG,IAAA,wCAAsB,EAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,UAAO,GAAY,EAAE,GAAa,EAAE,IAAU;;;;;;;wBAE/D,qBAAM,IAAA,kCAAqB,EAAC,GAAG,EAAE;;;;;gDACd,qBAAM,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAA;;4CAAvD,QAAQ,GAAG,SAA4C;4CAE7D,IAAI,QAAQ,EAAE,CAAC;gDACb,GAAG,CAAC,UAAU,GAAG,MAAA,QAAQ,CAAC,MAAM,mCAAI,GAAG,CAAC;gDAExC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oDACrB,KAAW,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wDACtC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oDAC/C,CAAC;gDACH,CAAC;gDAED,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oDAClB,IAAI,CAAC,cAAE,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;wDAClD,IAAA,sCAAoB,EAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oDACvD,CAAC;oDAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gDAC1B,CAAC;qDAAM,CAAC;oDACN,GAAG,CAAC,GAAG,EAAE,CAAC;gDACZ,CAAC;4CACH,CAAC;;;;iCACF,CAAC,EAAA;;wBAtBF,SAsBE,CAAC;;;;wBAEH,sBAAO,YAAY,CAAC,KAAG,EAAE,IAAI,CAAC,EAAC;;;;aAElC,CAAC,CAAC;QAEH,IAAM,YAAY,GAAG;YACnB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,eAAe;SAC1B,CAAC;QAEF,aAAa;QACb,eAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAA3B,eAAM,iBAAsB,YAAY,CAAC,IAAI,GAAK,YAAY,CAAC,QAAQ,UAAE;IAC3E,CAAC,CAAC;IAEF;;;OAGG;IACH,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAE3C,8EAA8E;IAC9E,EAAE,CAAC,IAAI,GAAG,IAAA,gBAAK,EAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/E,wDAAwD;IACxD,EAAE,CAAC,UAAU,GAAG;;QACd,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,eAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,EAAa;gBAAZ,IAAI,QAAA,EAAE,KAAK,QAAA;YAAM,OAAA,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI;QAA3B,CAA2B,CAAC,CAAC;QAC7G,IAAM,SAAS,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,0CAAE,IAAI,CAAC;QAEnC,IAAI,SAAS,EAAE,CAAC;YACd,eAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,GAAQ,EAAE,IAAU;;IACxC,IAAI,CAAC;QACH,IAAI,cAAE,IAAI,qBAAS,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,GAAG,YAAY,aAAa,CAAC,SAAS,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,IAAI,IAAA,oBAAY,EAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAM,MAAM,GAAG,MAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,mCAAI,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM,mCAAI,GAAG,CAAC;YAC1D,IAAM,OAAO;YACX,aAAa;YACb,MAAA,MAAA,MAAA,MAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,OAAO,mCACpB,GAAG,CAAC,OAAO,mCACX,MAAA,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,0CAAE,OAAO,mCACpC,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,IAAI,0CAAE,OAAO,mCAC3B,mBAAmB,CAAC;YAEtB,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAM,UAAU,GACd,GAAG,CAAC,UAAU;YACd,GAAG,CAAC,MAAM;aACV,MAAA,GAAG,CAAC,IAAI,0CAAE,UAAU,CAAA;aACpB,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,CAAA;aAChB,MAAA,GAAG,CAAC,OAAO,0CAAE,UAAU,CAAA;aACvB,MAAA,GAAG,CAAC,OAAO,0CAAE,MAAM,CAAA;YACnB,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,KAAI,MAAA,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,0CAAG,CAAC,CAAC,CAAA,CAAC;YAC9E,GAAG,CAAC;QAEN,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC,CAAA,CAAC;IAErB,iBAAiB;IACjB,OAAO,IAAI,CAAC,IAAI,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAW,EAAE,UAAsB;IACrE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,IAAM,eAAe,GAAG,IAAA,gDAA8B,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE3E,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAoCD,IAAI,UAAU,GAAG,IAAI,CAAC;AACtB,IAAI,UAAU,GAAG,EAAyB,CAAC;AAE3C,SAAgB,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,IAAI,WAAW,GAAW,EAAE,CAAC;AAE7B,SAAgB,cAAc;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAsB,iBAAiB,CAAC,OAA4B;;;;;;oBAClE,UAAU,GAAG,OAAO,CAAC;oBAGP,YAAY,GAStB,OAAO,WATe,EACxB,IAAI,GAQF,OAAO,KARL,EACS,aAAa,GAOxB,OAAO,YAPiB,EAC1B,UAAU,GAMR,OAAO,WANC,EACV,mBAAmB,GAKjB,OAAO,oBALU,EACnB,cAAc,GAIZ,OAAO,eAJK,EACd,KAGE,OAAO,yBAHsD,EAArC,8BAA8B,mBAAG,IAAI,KAAA,EAC/D,cAAc,GAEZ,OAAO,eAFK,EACd,MAAM,GACJ,OAAO,OADH,CACI;oBAEZ,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;oBAElB,UAAU,GAAG,YAAY,CAAC;oBAC1B,WAAW,GAAG,aAAa,CAAC;yBAG1B,CAAA,UAAU;wBACV,wEAAwE;wBACxE,6BAAW,CAAC,IAAI,KAAK,CAAC,CAAA,EAFtB,wBAEsB;;;;oBAGN,qBAAM,EAAE,CAAC,OAAO,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,4BAAgB,CAAC,EAAA;;oBAA5D,KAAK,GAAG,SAAoD;oBAClE,IAAA,4BAAU,EAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC,CAAC;;;;oBAEzD,IAAI,KAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,OAAO,CAAC,IAAI,CAAC,UAAG,4BAAgB,sEAA4D,KAAG,CAAC,OAAO,OAAI,CAAC,CAAC;oBAC/G,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAG,CAAC;oBACZ,CAAC;;;yBAID,CAAC,qBAAS,EAAV,wBAAU;oBACZ,qBAAM,mCAAyB,CAAC,OAAO,EAAE,EAAA;;oBAAzC,SAAyC,CAAC;;;oBAG5C,IAAA,8BAAe,GAAE,CAAC;oBAEH,qBAAM,IAAA,oBAAW,EAAC,EAAE,IAAI,MAAA,EAAE,mBAAmB,qBAAA,EAAE,cAAc,gBAAA,EAAE,CAAC,EAAA;;oBAAzE,MAAM,GAAG,SAAgE;oBAE/E,IAAI,8BAA8B,EAAE,CAAC;wBACnC,wBAAwB,EAAE,CAAC;oBAC7B,CAAC;oBAED,IAAA,yBAAiB,GAAE,CAAC;oBAEpB,sBAAO,MAAM,EAAC;;;;CACf;AAED,SAAS,oBAAoB;IAC3B,OAAO,IAAA,kBAAS,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RedisClientType } from "redis";
|
|
2
|
-
type RedisClient = RedisClientType<any, {}, {}, 3, {}>;
|
|
2
|
+
export type RedisClient = RedisClientType<any, {}, {}, 3, {}>;
|
|
3
3
|
declare class OrganizationHierarchyRepo {
|
|
4
4
|
client: RedisClient | null;
|
|
5
5
|
private cache;
|
|
@@ -7,7 +7,11 @@ declare class OrganizationHierarchyRepo {
|
|
|
7
7
|
connect(url?: string): Promise<unknown>;
|
|
8
8
|
close(): Promise<void>;
|
|
9
9
|
private get instance();
|
|
10
|
-
|
|
10
|
+
isHealthy(): Promise<boolean>;
|
|
11
|
+
/**
|
|
12
|
+
* Should not be used before server startup is complete as it could result in the server shutting down or the process exiting (due to redis errors).
|
|
13
|
+
* @returns Full organization hierarchy.
|
|
14
|
+
*/
|
|
11
15
|
private fetchOrganizationHierarchy;
|
|
12
16
|
/**
|
|
13
17
|
* @param organizationId the organization to get the hierarchy for. Returns entire hierarchy if omitted.
|
|
@@ -40,7 +40,7 @@ var redis_1 = require("redis");
|
|
|
40
40
|
var logger_1 = require("../utils/logger");
|
|
41
41
|
var config_1 = require("../config");
|
|
42
42
|
var constants_1 = require("../constants/constants");
|
|
43
|
-
var
|
|
43
|
+
var utils_1 = require("../utils/utils");
|
|
44
44
|
var OrganizationHierarchyRepo = /** @class */ (function () {
|
|
45
45
|
function OrganizationHierarchyRepo() {
|
|
46
46
|
this.client = null;
|
|
@@ -69,22 +69,15 @@ var OrganizationHierarchyRepo = /** @class */ (function () {
|
|
|
69
69
|
clientSideCache: this.cache,
|
|
70
70
|
});
|
|
71
71
|
this.client.on("error", function (err) { return __awaiter(_this, void 0, void 0, function () {
|
|
72
|
-
var err_1;
|
|
73
72
|
return __generator(this, function (_a) {
|
|
74
73
|
switch (_a.label) {
|
|
75
|
-
case 0:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return [4 /*yield*/, (0, server_1.closeServer)()];
|
|
74
|
+
case 0:
|
|
75
|
+
/* Redis is a critical component, so we shut down the server on Redis errors to make health checks fail */
|
|
76
|
+
return [4 /*yield*/, (0, utils_1.performFatalShutdown)(err)];
|
|
79
77
|
case 1:
|
|
78
|
+
/* Redis is a critical component, so we shut down the server on Redis errors to make health checks fail */
|
|
80
79
|
_a.sent();
|
|
81
|
-
return [
|
|
82
|
-
case 2:
|
|
83
|
-
err_1 = _a.sent();
|
|
84
|
-
(0, logger_1.getLogger)().error("Error while closing server after Redis error: ".concat(err_1.message), { error: err_1 });
|
|
85
|
-
process.exit(1);
|
|
86
|
-
return [3 /*break*/, 3];
|
|
87
|
-
case 3: return [2 /*return*/];
|
|
80
|
+
return [2 /*return*/];
|
|
88
81
|
}
|
|
89
82
|
});
|
|
90
83
|
}); });
|
|
@@ -138,16 +131,40 @@ var OrganizationHierarchyRepo = /** @class */ (function () {
|
|
|
138
131
|
enumerable: false,
|
|
139
132
|
configurable: true
|
|
140
133
|
});
|
|
141
|
-
|
|
134
|
+
OrganizationHierarchyRepo.prototype.isHealthy = function () {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
+
var result;
|
|
137
|
+
var _a;
|
|
138
|
+
return __generator(this, function (_b) {
|
|
139
|
+
switch (_b.label) {
|
|
140
|
+
case 0: return [4 /*yield*/, ((_a = this.client) === null || _a === void 0 ? void 0 : _a.ping())];
|
|
141
|
+
case 1:
|
|
142
|
+
result = _b.sent();
|
|
143
|
+
return [2 /*return*/, result === "PONG"];
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Should not be used before server startup is complete as it could result in the server shutting down or the process exiting (due to redis errors).
|
|
150
|
+
* @returns Full organization hierarchy.
|
|
151
|
+
*/
|
|
142
152
|
OrganizationHierarchyRepo.prototype.fetchOrganizationHierarchy = function () {
|
|
143
153
|
return __awaiter(this, void 0, void 0, function () {
|
|
144
154
|
var organizationHierarchy, cursor, _loop_1, this_1;
|
|
145
155
|
return __generator(this, function (_a) {
|
|
146
156
|
switch (_a.label) {
|
|
147
157
|
case 0:
|
|
148
|
-
if (!this.client || !this.client.isOpen)
|
|
149
|
-
|
|
150
|
-
|
|
158
|
+
if (!(!this.client || !this.client.isOpen)) return [3 /*break*/, 2];
|
|
159
|
+
return [4 /*yield*/, (0, utils_1.performFatalShutdown)(new Error("Redis client not initialized or not connected"))];
|
|
160
|
+
case 1:
|
|
161
|
+
/*
|
|
162
|
+
* If client is used without being connected (or being closed), there is something wrong:
|
|
163
|
+
* When everything goes well, the client should be connected during server startup and closed during server shutdown.
|
|
164
|
+
* This process is awaited so there should be no way to use the client when it's not connected under normal circumstances.
|
|
165
|
+
*/
|
|
166
|
+
throw _a.sent();
|
|
167
|
+
case 2:
|
|
151
168
|
organizationHierarchy = {};
|
|
152
169
|
cursor = "0";
|
|
153
170
|
_loop_1 = function () {
|
|
@@ -176,15 +193,15 @@ var OrganizationHierarchyRepo = /** @class */ (function () {
|
|
|
176
193
|
});
|
|
177
194
|
};
|
|
178
195
|
this_1 = this;
|
|
179
|
-
_a.label = 1;
|
|
180
|
-
case 1: return [5 /*yield**/, _loop_1()];
|
|
181
|
-
case 2:
|
|
182
|
-
_a.sent();
|
|
183
196
|
_a.label = 3;
|
|
184
|
-
case 3:
|
|
185
|
-
|
|
186
|
-
_a.
|
|
187
|
-
|
|
197
|
+
case 3: return [5 /*yield**/, _loop_1()];
|
|
198
|
+
case 4:
|
|
199
|
+
_a.sent();
|
|
200
|
+
_a.label = 5;
|
|
201
|
+
case 5:
|
|
202
|
+
if (cursor !== "0") return [3 /*break*/, 3];
|
|
203
|
+
_a.label = 6;
|
|
204
|
+
case 6: return [2 /*return*/, organizationHierarchy];
|
|
188
205
|
}
|
|
189
206
|
});
|
|
190
207
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizationHierarchyRepo.js","sourceRoot":"","sources":["organizationHierarchyRepo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA4E;AAC5E,0CAA4C;AAC5C,oCAAyC;AACzC,oDAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"organizationHierarchyRepo.js","sourceRoot":"","sources":["organizationHierarchyRepo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attempts a server shut down and exits process if shut down fails.
|
|
3
|
+
* Only to be used for fatal errors (e.g. Redis errors)
|
|
4
|
+
* @param err The error that caused the fatal shutdown
|
|
5
|
+
* @returns Never returns, always throws the original error after attempting shutdown
|
|
6
|
+
* @throws The original error passed as parameter
|
|
7
|
+
*/
|
|
8
|
+
export declare function performFatalShutdown(err: any): Promise<never>;
|
|
9
|
+
/**
|
|
10
|
+
* Currently supports redis healthchecks
|
|
11
|
+
*/
|
|
12
|
+
export declare function setupHealthChecks(): void;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.performFatalShutdown = performFatalShutdown;
|
|
43
|
+
exports.setupHealthChecks = setupHealthChecks;
|
|
44
|
+
var restify_errors_1 = require("restify-errors");
|
|
45
|
+
var __1 = require("..");
|
|
46
|
+
var organizationHierarchyRepo_1 = __importDefault(require("../repositories/organizationHierarchyRepo"));
|
|
47
|
+
var server_1 = require("../server/server");
|
|
48
|
+
var logger_1 = require("./logger");
|
|
49
|
+
var util_1 = require("util");
|
|
50
|
+
/**
|
|
51
|
+
* Attempts a server shut down and exits process if shut down fails.
|
|
52
|
+
* Only to be used for fatal errors (e.g. Redis errors)
|
|
53
|
+
* @param err The error that caused the fatal shutdown
|
|
54
|
+
* @returns Never returns, always throws the original error after attempting shutdown
|
|
55
|
+
* @throws The original error passed as parameter
|
|
56
|
+
*/
|
|
57
|
+
function performFatalShutdown(err) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
59
|
+
var logger, inspectedError, err_1;
|
|
60
|
+
return __generator(this, function (_a) {
|
|
61
|
+
switch (_a.label) {
|
|
62
|
+
case 0:
|
|
63
|
+
try {
|
|
64
|
+
logger = (0, logger_1.getLogger)();
|
|
65
|
+
}
|
|
66
|
+
catch (_b) {
|
|
67
|
+
/* If error happens before logger is set up, we will get an error while using getLogger, so fallback to console.error */
|
|
68
|
+
logger = console;
|
|
69
|
+
}
|
|
70
|
+
inspectedError = (0, util_1.inspect)(err);
|
|
71
|
+
_a.label = 1;
|
|
72
|
+
case 1:
|
|
73
|
+
_a.trys.push([1, 3, , 4]);
|
|
74
|
+
logger.error("Redis Client Error: ".concat(err.message), inspectedError);
|
|
75
|
+
return [4 /*yield*/, (0, server_1.closeServer)()];
|
|
76
|
+
case 2:
|
|
77
|
+
_a.sent();
|
|
78
|
+
return [3 /*break*/, 4];
|
|
79
|
+
case 3:
|
|
80
|
+
err_1 = _a.sent();
|
|
81
|
+
logger.error("Error while closing server after Redis error: ".concat(err_1.message), inspectedError);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
return [3 /*break*/, 4];
|
|
84
|
+
case 4:
|
|
85
|
+
/* Will never reach this point, but to satisfy TypeScript's "never" return type */
|
|
86
|
+
throw err;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Currently supports redis healthchecks
|
|
93
|
+
*/
|
|
94
|
+
function setupHealthChecks() {
|
|
95
|
+
var _this = this;
|
|
96
|
+
/* Restify incorrectly throws an error if next is not a parameter, even if the function is async (and can't use it without trigger the next function twice) */
|
|
97
|
+
server_1.server.use(function (req, _res, _next) { return __awaiter(_this, void 0, void 0, function () {
|
|
98
|
+
var healthPaths;
|
|
99
|
+
return __generator(this, function (_a) {
|
|
100
|
+
switch (_a.label) {
|
|
101
|
+
case 0:
|
|
102
|
+
healthPaths = ["/".concat((0, __1.getApiOptions)().apiVersion, "/healthz"), "/".concat((0, __1.getApiOptions)().apiVersion, "/readyz")];
|
|
103
|
+
if (!healthPaths.includes(req.getPath())) return [3 /*break*/, 2];
|
|
104
|
+
return [4 /*yield*/, redisHealthCheck()];
|
|
105
|
+
case 1:
|
|
106
|
+
_a.sent();
|
|
107
|
+
_a.label = 2;
|
|
108
|
+
case 2: return [2 /*return*/];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}); });
|
|
112
|
+
}
|
|
113
|
+
function redisHealthCheck() {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
115
|
+
return __generator(this, function (_a) {
|
|
116
|
+
switch (_a.label) {
|
|
117
|
+
case 0: return [4 /*yield*/, organizationHierarchyRepo_1.default.isHealthy()];
|
|
118
|
+
case 1:
|
|
119
|
+
if (!(_a.sent())) {
|
|
120
|
+
throw new restify_errors_1.InternalServerError("Redis health check failed");
|
|
121
|
+
}
|
|
122
|
+
return [2 /*return*/];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,oDAuBC;AAKD,8CASC;AApDD,iDAAqD;AACrD,wBAAmC;AACnC,wGAAkF;AAClF,2CAAuD;AACvD,mCAAqC;AACrC,6BAA+B;AAG/B;;;;;;GAMG;AACH,SAAsB,oBAAoB,CAAC,GAAQ;;;;;;oBAGjD,IAAI,CAAC;wBACH,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;oBACvB,CAAC;oBAAC,WAAM,CAAC;wBACP,wHAAwH;wBACxH,MAAM,GAAG,OAAO,CAAC;oBACnB,CAAC;oBAEK,cAAc,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;;;;oBAGlC,MAAM,CAAC,KAAK,CAAC,8BAAuB,GAAG,CAAC,OAAO,CAAE,EAAE,cAAc,CAAC,CAAC;oBACnE,qBAAM,IAAA,oBAAW,GAAE,EAAA;;oBAAnB,SAAmB,CAAC;;;;oBAEpB,MAAM,CAAC,KAAK,CAAC,wDAAiD,KAAG,CAAC,OAAO,CAAE,EAAE,cAAc,CAAC,CAAC;oBAE7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;gBAGlB,kFAAkF;gBAClF,MAAM,GAAG,CAAC;;;;CACX;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAAjC,iBASC;IARC,8JAA8J;IAC9J,eAAM,CAAC,GAAG,CAAC,UAAO,GAAY,EAAE,IAAc,EAAE,KAAW;;;;;oBACnD,WAAW,GAAG,CAAC,WAAI,IAAA,iBAAa,GAAE,CAAC,UAAU,aAAU,EAAE,WAAI,IAAA,iBAAa,GAAE,CAAC,UAAU,YAAS,CAAC,CAAC;yBAEpG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAnC,wBAAmC;oBACrC,qBAAM,gBAAgB,EAAE,EAAA;;oBAAxB,SAAwB,CAAC;;;;;SAE5B,CAAC,CAAC;AACL,CAAC;AAED,SAAe,gBAAgB;;;;wBACvB,qBAAM,mCAAyB,CAAC,SAAS,EAAE,EAAA;;oBAAjD,IAAI,CAAC,CAAC,SAA2C,CAAC,EAAE,CAAC;wBACnD,MAAM,IAAI,oCAAmB,CAAC,2BAA2B,CAAC,CAAC;oBAC7D,CAAC;;;;;CACF"}
|