@volcanicminds/backend 2.1.0 → 2.1.1
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/loader/hooks.d.ts +1 -1
- package/dist/lib/loader/hooks.d.ts.map +1 -1
- package/dist/lib/loader/hooks.js +11 -8
- package/dist/lib/loader/hooks.js.map +1 -1
- package/dist/lib/loader/router.d.ts +1 -3
- package/dist/lib/loader/router.d.ts.map +1 -1
- package/dist/lib/loader/router.js +85 -54
- package/dist/lib/loader/router.js.map +1 -1
- package/dist/lib/loader/schemas.d.ts +1 -1
- package/dist/lib/loader/schemas.d.ts.map +1 -1
- package/dist/lib/loader/schemas.js +22 -16
- package/dist/lib/loader/schemas.js.map +1 -1
- package/lib/loader/hooks.ts +12 -8
- package/lib/loader/router.ts +100 -83
- package/lib/loader/schemas.ts +24 -16
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAWtD,OAAO,OAA4B,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAWtD,OAAO,OAA4B,MAAM,SAAS,CAAA;AAqIlD,QAAA,MAAM,KAAK,GAAU,eAAe,6NA2NnC,CAAA;AAED,YAAY,EACV,MAAM,EACN,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -52,10 +52,9 @@ async function addApolloRouting(server, apollo) {
|
|
|
52
52
|
}
|
|
53
53
|
async function addFastifyRouting(server) {
|
|
54
54
|
log.trace('Add server routes');
|
|
55
|
-
loaderHooks.apply(server);
|
|
56
|
-
loaderSchemas.apply(server);
|
|
57
|
-
|
|
58
|
-
routes && loaderRouter.apply(server, routes);
|
|
55
|
+
await loaderHooks.apply(server);
|
|
56
|
+
await loaderSchemas.apply(server);
|
|
57
|
+
await loaderRouter.apply(server);
|
|
59
58
|
}
|
|
60
59
|
async function addFastifySwagger(server) {
|
|
61
60
|
const { SWAGGER, SWAGGER_TITLE, SWAGGER_DESCRIPTION, SWAGGER_VERSION, SWAGGER_PREFIX_URL, SWAGGER_HOST } = process.env;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,iBAAiB,MAAM,6BAA6B,CAAA;AAChE,OAAO,KAAK,YAAY,MAAM,yBAAyB,CAAA;AACvD,OAAO,KAAK,eAAe,MAAM,2BAA2B,CAAA;AAE5D,OAAO,OAA4B,MAAM,SAAS,CAAA;AAClD,OAAO,YAAY,MAAM,cAAc,CAAA;AACvC,OAAO,OAAO,MAAM,kBAAkB,CAAA;AACtC,OAAO,SAAS,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,MAAM,MAAM,iBAAiB,CAAA;AACpC,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,SAAS,MAAM,qBAAqB,CAAA;AAC3C,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAC1C,OAAO,OAAO,MAAM,kBAAkB,CAAA;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,aAAa,EAAE,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAa,MAAM,yBAAyB,CAAA;AACtE,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,QAAQ,MAAM,2BAA2B,CAAA;AAChD,OAAO,OAAO,MAAM,uBAAuB,CAAA;AAI3C,MAAM,CAAC,GAAG,GAAG,MAAM,CAAA;AAEnB,KAAK,UAAU,YAAY,CAAC,MAAuB;IACjD,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAY;QACzC,QAAQ;QACR,SAAS;QACT,OAAO,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;KAC5C,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IAEpB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAuB,EAAE,MAAsC;IAC7F,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC/B,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC3C,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAuB;IACtD,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAE9B,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,CAAA;IAClC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC9C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAuB;IACtD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAA;IAEtH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACtC,IAAI,WAAW,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE/B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;QAE7D,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC7B,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,KAAK,EAAE,aAAa,IAAI,4BAA4B;oBACpD,WAAW,EAAE,mBAAmB,IAAI,2CAA2C;oBAC/E,OAAO,EAAE,eAAe,IAAI,OAAO;iBACpC;gBACD,IAAI,EAAE,YAAY,IAAI,gBAAgB;gBACtC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;gBAC1B,QAAQ,EAAE,CAAC,kBAAkB,CAAC;gBAC9B,QAAQ,EAAE,CAAC,kBAAkB,CAAC;aAC/B;YACD,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,KAAK,EAAE,aAAa,IAAI,4BAA4B;oBACpD,WAAW,EAAE,mBAAmB,IAAI,2CAA2C;oBAC/E,OAAO,EAAE,eAAe,IAAI,OAAO;iBACpC;gBACD,OAAO,EAAE;oBACP;wBACE,GAAG,EAAE,YAAY,IAAI,uBAAuB;qBAC7C;iBACF;gBACD,UAAU,EAAE;oBACV,eAAe,EAAE;wBACf,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,QAAQ;yBACjB;qBACF;iBACF;aACF;SACF,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE;YAC/B,WAAW,EAAE,kBAAkB,IAAI,WAAW;YAC9C,QAAQ,EAAE;gBACR,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,IAAI;gBACjB,wBAAwB,EAAE,CAAC;aAC5B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;aACxC;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa;aACrB;SACK,CAAC,CAAA;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAuB;IACvD,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAA;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAEjC,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED,MAAM,KAAK,GAAG,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE;IACtC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;IAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAElB,MAAM,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;IACzC,MAAM,CAAC,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;IACvC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAEnC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAA;IAChE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,MAAM,CAAC,cAAc,GAAG,cAAc,CAAA;IAEtC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACxG,MAAM,MAAM,GAAoB,OAAO,EAAE,CAAA;IACzC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAEtB,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAA;IAC5E,MAAM,EACJ,UAAU,GAAG,EAAE,EACf,cAAc,GAAG,KAAK,EACtB,WAAW,GAAG,MAAM,EACpB,kBAAkB,GAAG,EAAE,EACvB,sBAAsB,GAAG,MAAM,EAChC,GAAG,OAAO,CAAC,GAAG,CAAA;IAEf,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAA;IAE1C,OAAO,EAAE,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC,UAAU,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IAEvF,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,CAAC,kBAAkB,CACvB;YACE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC3B,GAAG,EAAE,EAAE;gBACP,UAAU,EAAE,KAAK;aAClB,CAAC;SACH,EACD,UAAU,GAAG,EAAE,KAAK;YAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC,CACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAA;IACjF,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,OAAO,EAAE,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;IAE9E,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,wBAAwB,cAAc,EAAE,CAAC,CAAA;IAC5D,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE;QAClC,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE;KACpC,CAAC,CAAA;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE;YAClC,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,kBAAkB,IAAI,UAAU;YACxC,IAAI,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE;SAC5C,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAEhC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,EAAE,CAAA;IAExC,UAAU,GAAG;QACX,WAAW,EAAE;YACX,aAAa;gBACX,OAAO,KAAK,CAAA;YACd,CAAC;YACD,WAAW,CAAC,IAAS;gBACnB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,UAAU,CAAC,IAAS;gBAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,UAAU,CAAC,IAAS;gBAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,eAAe,CAAC,IAAS;gBACvB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,cAAc,CAAC,EAAU,EAAE,IAAS;gBAClC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,gBAAgB,CAAC,EAAU;gBACzB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,mBAAmB,CAAC,KAAa;gBAC/B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,+BAA+B,CAAC,IAAY;gBAC1C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,gCAAgC,CAAC,IAAY;gBAC3C,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,sBAAsB,CAAC,QAAgB;gBACrC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,wBAAwB,CAAC,UAAkB;gBACzC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,sBAAsB,CAAC,KAAa,EAAE,QAAgB;gBACpD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,cAAc,CAAC,KAAa,EAAE,QAAgB,EAAE,WAAmB;gBACjE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,cAAc,CAAC,KAAa;gBAC1B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,gBAAgB,CAAC,IAAS;gBACxB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,aAAa,CAAC,IAAS,EAAE,QAAgB;gBACvC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,aAAa,CAAC,EAAU,EAAE,MAAc;gBACtC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,eAAe,CAAC,IAAS;gBACvB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,UAAU,CAAC,IAAS;gBAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,SAAS,CAAC,IAAS;gBACjB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,eAAe,CAAC,EAAU;gBACxB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;SACgB;QACnB,YAAY,EAAE;YACZ,aAAa;gBACX,OAAO,KAAK,CAAA;YACd,CAAC;YACD,YAAY,CAAC,IAAS;gBACpB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,WAAW,CAAC,IAAS;gBACnB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,eAAe,CAAC,EAAU;gBACxB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,eAAe,CAAC,EAAU,EAAE,KAAU;gBACpC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,iBAAiB,CAAC,EAAU;gBAC1B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,yBAAyB,CAAC,EAAU;gBAClC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,cAAc,CAAC,EAAU,EAAE,MAAc;gBACvC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,gBAAgB,CAAC,EAAU;gBACzB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,UAAU,CAAC,IAAS;gBAClB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,SAAS,CAAC,IAAS;gBACjB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,eAAe,CAAC,EAAU;gBACxB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;SACiB;QACpB,eAAe,EAAE;YACf,aAAa;gBACX,OAAO,KAAK,CAAA;YACd,CAAC;YACD,kBAAkB;gBAChB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,UAAU,CAAC,UAAU,EAAE,QAAQ;gBAC7B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;YACD,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY;gBACpE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;YAC1F,CAAC;SACoB;QACvB,GAAG,UAAU;KACd,CAAA;IAED,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC9C,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,MAAM;SACT,MAAM,CAAC;QACN,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;QAClB,IAAI,EAAE,IAAI;KACX,CAAC;SACD,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAA;QACpD,GAAG,CAAC,IAAI,CAAC,uBAAuB,OAAO,MAAM,CAAC,CAAA;QAC9C,GAAG,CAAC,IAAI,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;QAEzC,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAClD,WAAW,IAAI,GAAG,CAAC,IAAI,CAAC,sBAAsB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,WAAW,EAAE,CAAC,CAAA;IAC1G,CAAC,CAAC,CAAA;IAEJ,MAAM,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAoBD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function apply(server: any): void
|
|
1
|
+
export declare function apply(server: any): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../lib/loader/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../lib/loader/hooks.ts"],"names":[],"mappings":"AAoBA,wBAAsB,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BtD"}
|
package/dist/lib/loader/hooks.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { normalizePatterns } from '../util/path.js';
|
|
2
2
|
import { globSync } from 'glob';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import require from '../util/require.js';
|
|
5
4
|
const hooks = [
|
|
6
5
|
'onRequest',
|
|
7
6
|
'onError',
|
|
@@ -17,22 +16,26 @@ const hooks = [
|
|
|
17
16
|
'preSerialization',
|
|
18
17
|
'preHandler'
|
|
19
18
|
];
|
|
20
|
-
export function apply(server) {
|
|
19
|
+
export async function apply(server) {
|
|
21
20
|
const patterns = normalizePatterns(['..', 'hooks', '*.{ts,js}'], ['src', 'hooks', '*.{ts,js}']);
|
|
22
21
|
const allHooks = hooks.reduce((acc, v) => ({ ...acc, [v]: [] }), {});
|
|
23
|
-
|
|
22
|
+
for (const pattern of patterns) {
|
|
24
23
|
log.t && log.trace('Looking for ' + pattern);
|
|
25
|
-
globSync(pattern, { windowsPathsNoEscape: true })
|
|
24
|
+
const files = globSync(pattern, { windowsPathsNoEscape: true });
|
|
25
|
+
for (const f of files) {
|
|
26
|
+
if (f.endsWith('.d.ts'))
|
|
27
|
+
continue;
|
|
26
28
|
const hookName = path.basename(f, path.extname(f));
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
+
const module = await import(f);
|
|
30
|
+
const fn = module.default || module;
|
|
31
|
+
if (fn != null && typeof fn === 'function') {
|
|
29
32
|
if (allHooks[hookName] == null) {
|
|
30
33
|
allHooks[hookName] = [];
|
|
31
34
|
}
|
|
32
35
|
allHooks[hookName].push((...args) => fn(...args));
|
|
33
36
|
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
36
39
|
hooks.map((hookName) => {
|
|
37
40
|
const fns = allHooks[hookName];
|
|
38
41
|
log.t && log.trace(`* Add ${fns?.length || 0} hooks for ${hookName}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../lib/loader/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../lib/loader/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,KAAK,GAAG;IACZ,WAAW;IACX,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,YAAY;CACb,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,MAAW;IACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;IAC/F,MAAM,QAAQ,GAAQ,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEvF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAQ;YAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;YAEnC,IAAI,EAAE,IAAI,IAAI,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC/B,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAgB,CAAA;gBACvC,CAAC;gBACD,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACrB,MAAM,GAAG,GAAe,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1C,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,MAAM,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAA;QACrE,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAc,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3D,CAAC"}
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function load(): ConfiguredRoute[];
|
|
3
|
-
export declare function apply(server: any, routes: ConfiguredRoute[]): void;
|
|
1
|
+
export declare function apply(server: any): Promise<void>;
|
|
4
2
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../lib/loader/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../lib/loader/router.ts"],"names":[],"mappings":"AAkQA,wBAAsB,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtD"}
|
|
@@ -2,19 +2,72 @@ import yn from '../util/yn.js';
|
|
|
2
2
|
import { normalizePatterns } from '../util/path.js';
|
|
3
3
|
import { globSync } from 'glob';
|
|
4
4
|
import path from 'path';
|
|
5
|
-
import
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
7
|
+
const __dirname = path.dirname(__filename);
|
|
6
8
|
const methods = ['GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'PATCH', 'OPTIONS'];
|
|
7
|
-
|
|
9
|
+
async function tryToLoadFile(fileName) {
|
|
10
|
+
try {
|
|
11
|
+
const module = await import(fileName);
|
|
12
|
+
return module.default || module;
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async function loadMiddleware(base, middleware = '') {
|
|
19
|
+
const key = 'global.';
|
|
20
|
+
const isGlobal = middleware.indexOf(key) > -1;
|
|
21
|
+
let loadedModule = null;
|
|
22
|
+
if (isGlobal) {
|
|
23
|
+
const name = middleware.substring(key.length);
|
|
24
|
+
const localPath = path.resolve(process.cwd() + '/src/middleware/' + name + '.ts');
|
|
25
|
+
const localPathJs = path.resolve(process.cwd() + '/src/middleware/' + name + '.js');
|
|
26
|
+
loadedModule = await tryToLoadFile(localPath);
|
|
27
|
+
if (!loadedModule)
|
|
28
|
+
loadedModule = await tryToLoadFile(localPathJs);
|
|
29
|
+
if (!loadedModule) {
|
|
30
|
+
const libPath = path.resolve(__dirname + '/../middleware/' + name + '.js');
|
|
31
|
+
loadedModule = await tryToLoadFile(libPath);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const routeMiddPath = path.resolve(base + '/middleware/' + middleware);
|
|
36
|
+
loadedModule = await tryToLoadFile(routeMiddPath + '.ts');
|
|
37
|
+
if (!loadedModule)
|
|
38
|
+
loadedModule = await tryToLoadFile(routeMiddPath + '.js');
|
|
39
|
+
if (!loadedModule)
|
|
40
|
+
loadedModule = await tryToLoadFile(routeMiddPath);
|
|
41
|
+
}
|
|
42
|
+
if (!loadedModule) {
|
|
43
|
+
log.error(`Middleware ${middleware} not loaded`);
|
|
44
|
+
throw new Error(`Middleware ${middleware} not loaded`);
|
|
45
|
+
}
|
|
46
|
+
return loadedModule;
|
|
47
|
+
}
|
|
48
|
+
async function loadMiddlewares(base, middlewares = []) {
|
|
49
|
+
const midds = {};
|
|
50
|
+
for (const m of middlewares) {
|
|
51
|
+
const middleware = await loadMiddleware(base, m);
|
|
52
|
+
Object.keys(middleware).map((name) => (midds[name] = [...(midds[name] || []), middleware[name]]));
|
|
53
|
+
}
|
|
54
|
+
return midds;
|
|
55
|
+
}
|
|
56
|
+
async function load() {
|
|
8
57
|
const validRoutes = [];
|
|
9
58
|
const patterns = normalizePatterns(['..', 'api', '**', 'routes.{ts,js}'], ['src', 'api', '**', 'routes.{ts,js}']);
|
|
10
59
|
const authMiddlewares = ['global.isAuthenticated', 'global.isAdmin'];
|
|
11
|
-
|
|
60
|
+
for (const pattern of patterns) {
|
|
12
61
|
log.t && log.trace('Looking for ' + pattern);
|
|
13
|
-
globSync(pattern, { windowsPathsNoEscape: true })
|
|
62
|
+
const files = globSync(pattern, { windowsPathsNoEscape: true });
|
|
63
|
+
for (const f of files) {
|
|
64
|
+
if (f.endsWith('.d.ts'))
|
|
65
|
+
continue;
|
|
14
66
|
const base = path.dirname(f);
|
|
15
67
|
const dir = path.basename(base);
|
|
16
68
|
const file = path.join(dir, path.basename(f));
|
|
17
|
-
const
|
|
69
|
+
const module = await import(f);
|
|
70
|
+
const routesjs = module.default || module;
|
|
18
71
|
const { routes = [], config: defaultConfig = {} } = routesjs || {};
|
|
19
72
|
log.t && log.trace(`* Add ${routes.length} routes from ${file}`);
|
|
20
73
|
routes.forEach((route, index) => {
|
|
@@ -41,15 +94,12 @@ export function load() {
|
|
|
41
94
|
const num = index + 1;
|
|
42
95
|
const handlerParts = handler.split('.');
|
|
43
96
|
if (enable) {
|
|
44
|
-
if (!pathName.startsWith('/'))
|
|
97
|
+
if (!pathName.startsWith('/'))
|
|
45
98
|
errors.push(`Error in [${file}] bad path [${pathName}] at route n. ${num}`);
|
|
46
|
-
|
|
47
|
-
if (!methods.includes(method)) {
|
|
99
|
+
if (!methods.includes(method))
|
|
48
100
|
errors.push(`Error in [${file}] bad method [${method}] at route n. ${num}`);
|
|
49
|
-
|
|
50
|
-
if (handlerParts.length !== 2) {
|
|
101
|
+
if (handlerParts.length !== 2)
|
|
51
102
|
errors.push(`Error in [${file}] bad handler [${handler}] at route n. ${num}`);
|
|
52
|
-
}
|
|
53
103
|
const key = method + endpoint + version;
|
|
54
104
|
if (validRoutes.some((r) => `${r.method}${r.path}${r.doc?.version}` === key)) {
|
|
55
105
|
errors.push(`Error in [${file}] duplicated path [${pathName}] at route n. ${num}`);
|
|
@@ -97,52 +147,18 @@ export function load() {
|
|
|
97
147
|
});
|
|
98
148
|
}
|
|
99
149
|
});
|
|
100
|
-
}
|
|
101
|
-
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
102
152
|
log.d && log.debug(`Routes loaded: ${validRoutes.length}`);
|
|
103
153
|
return validRoutes;
|
|
104
154
|
}
|
|
105
|
-
async function
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
resolve(required);
|
|
110
|
-
}
|
|
111
|
-
catch (err) {
|
|
112
|
-
reject(err);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
async function loadMiddleware(base, middleware = '') {
|
|
117
|
-
const key = 'global.';
|
|
118
|
-
const isGlobal = middleware.indexOf(key) > -1;
|
|
119
|
-
let required = null;
|
|
120
|
-
if (isGlobal) {
|
|
121
|
-
const name = middleware.substring(key.length);
|
|
122
|
-
required = await tryToLoadFile(path.resolve(process.cwd() + '/src/middleware/' + name)).catch(async () => {
|
|
123
|
-
return await tryToLoadFile(path.resolve(__dirname + '/../middleware/' + name));
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
required = await tryToLoadFile(path.resolve(base + '/middleware/' + middleware));
|
|
128
|
-
}
|
|
129
|
-
if (!required) {
|
|
130
|
-
log.error(`Middleware ${middleware} not loaded`);
|
|
131
|
-
throw new Error(`Middleware ${middleware} not loaded`);
|
|
155
|
+
async function applyRoutes(server, routes) {
|
|
156
|
+
if (!routes || routes.length === 0) {
|
|
157
|
+
log.w && log.warn('No routes to apply to server');
|
|
158
|
+
return;
|
|
132
159
|
}
|
|
133
|
-
return required;
|
|
134
|
-
}
|
|
135
|
-
async function loadMiddlewares(base, middlewares = []) {
|
|
136
|
-
const midds = {};
|
|
137
|
-
await Promise.all(middlewares.map(async (m) => {
|
|
138
|
-
const middleware = await loadMiddleware(base, m);
|
|
139
|
-
Object.keys(middleware).map((name) => (midds[name] = [...(midds[name] || []), middleware[name]]));
|
|
140
|
-
}));
|
|
141
|
-
return midds;
|
|
142
|
-
}
|
|
143
|
-
export function apply(server, routes) {
|
|
144
160
|
log.t && log.trace(`Apply ${routes.length} routes to server with pid ${process.pid}`);
|
|
145
|
-
|
|
161
|
+
for (const route of routes) {
|
|
146
162
|
if (route?.enable) {
|
|
147
163
|
const { handler, method, path, middlewares, roles, rawBody, rateLimit, base, file, func, doc } = route;
|
|
148
164
|
log.t && log.trace(`* Add path ${method} ${path} on handle ${handler}`);
|
|
@@ -159,7 +175,18 @@ export function apply(server, routes) {
|
|
|
159
175
|
},
|
|
160
176
|
handler: async function (req, reply) {
|
|
161
177
|
try {
|
|
162
|
-
|
|
178
|
+
let module;
|
|
179
|
+
try {
|
|
180
|
+
module = await import(file + '.js');
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
try {
|
|
184
|
+
module = await import(file + '.ts');
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
module = await import(file);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
163
190
|
return await module[func](req, reply);
|
|
164
191
|
}
|
|
165
192
|
catch (err) {
|
|
@@ -169,6 +196,10 @@ export function apply(server, routes) {
|
|
|
169
196
|
}
|
|
170
197
|
});
|
|
171
198
|
}
|
|
172
|
-
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export async function apply(server) {
|
|
202
|
+
const routes = await load();
|
|
203
|
+
return await applyRoutes(server, routes);
|
|
173
204
|
}
|
|
174
205
|
//# sourceMappingURL=router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../lib/loader/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAA;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../lib/loader/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function apply(server: any): void
|
|
1
|
+
export declare function apply(server: any): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"AAIA,wBAAsB,KAAK,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEtD"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { normalizePatterns } from '../util/path.js';
|
|
2
2
|
import { globSync } from 'glob';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
|
|
5
|
-
export function apply(server) {
|
|
4
|
+
export async function apply(server) {
|
|
6
5
|
const [baseSchemaPath, customSchemaPath] = normalizePatterns(['..', 'schemas', '*.{ts,js}'], ['src', 'schemas', '*.{ts,js}']);
|
|
7
6
|
const customSchemas = [];
|
|
8
7
|
const customSchemaIds = new Set();
|
|
9
8
|
let schemaCount = 0;
|
|
10
9
|
log.t && log.trace('Looking for custom schemas in ' + customSchemaPath);
|
|
11
|
-
globSync(customSchemaPath, { windowsPathsNoEscape: true })
|
|
10
|
+
const customFiles = globSync(customSchemaPath, { windowsPathsNoEscape: true });
|
|
11
|
+
for (const f of customFiles) {
|
|
12
|
+
if (f.endsWith('.d.ts'))
|
|
13
|
+
continue;
|
|
12
14
|
try {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
+
const schemaModule = await import(f);
|
|
16
|
+
const schemaClass = schemaModule.default || schemaModule;
|
|
17
|
+
const schemaNames = Object.keys(schemaModule);
|
|
15
18
|
schemaNames.forEach((name) => {
|
|
16
|
-
const schema =
|
|
17
|
-
if (schema
|
|
19
|
+
const schema = schemaModule[name];
|
|
20
|
+
if (schema && typeof schema === 'object' && schema.$id) {
|
|
18
21
|
customSchemas.push(schema);
|
|
19
22
|
customSchemaIds.add(schema.$id);
|
|
20
23
|
}
|
|
@@ -23,21 +26,24 @@ export function apply(server) {
|
|
|
23
26
|
catch (e) {
|
|
24
27
|
log.w && log.warn(`Could not load custom schema file: ${f}`, e);
|
|
25
28
|
}
|
|
26
|
-
}
|
|
29
|
+
}
|
|
27
30
|
customSchemas.forEach((schema) => {
|
|
28
31
|
log.trace(`* Registering custom schema [${schema.$id}]`);
|
|
29
32
|
server.addSchema(schema);
|
|
30
33
|
schemaCount++;
|
|
31
34
|
});
|
|
32
35
|
log.t && log.trace('Looking for base schemas in ' + baseSchemaPath);
|
|
33
|
-
globSync(baseSchemaPath, { windowsPathsNoEscape: true })
|
|
36
|
+
const baseFiles = globSync(baseSchemaPath, { windowsPathsNoEscape: true });
|
|
37
|
+
for (const f of baseFiles) {
|
|
38
|
+
if (f.endsWith('.d.ts'))
|
|
39
|
+
continue;
|
|
34
40
|
try {
|
|
35
41
|
const schemaFileName = path.basename(f);
|
|
36
|
-
const
|
|
37
|
-
const schemaNames = Object.keys(
|
|
42
|
+
const schemaModule = await import(f);
|
|
43
|
+
const schemaNames = Object.keys(schemaModule);
|
|
38
44
|
schemaNames.forEach((name) => {
|
|
39
|
-
const schema =
|
|
40
|
-
if (schema
|
|
45
|
+
const schema = schemaModule[name];
|
|
46
|
+
if (schema && typeof schema === 'object' && schema.$id) {
|
|
41
47
|
if (customSchemaIds.has(schema.$id)) {
|
|
42
48
|
log.w &&
|
|
43
49
|
log.warn(`* Base schema [${schema.$id}] from ${schemaFileName} is overridden by a custom schema and will be ignored.`);
|
|
@@ -48,15 +54,15 @@ export function apply(server) {
|
|
|
48
54
|
schemaCount++;
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
|
-
else {
|
|
52
|
-
log.w && log.warn(`* Schema with no $id found in ${schemaFileName}, cannot be registered.`);
|
|
57
|
+
else if (name !== 'default') {
|
|
58
|
+
log.w && log.warn(`* Schema with no $id found in ${schemaFileName} (export ${name}), cannot be registered.`);
|
|
53
59
|
}
|
|
54
60
|
});
|
|
55
61
|
}
|
|
56
62
|
catch (e) {
|
|
57
63
|
log.w && log.warn(`Could not load base schema file: ${f}`, e);
|
|
58
64
|
}
|
|
59
|
-
}
|
|
65
|
+
}
|
|
60
66
|
log.d && log.debug(`Schemas loaded: ${schemaCount} referenceable by $ref`);
|
|
61
67
|
}
|
|
62
68
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../lib/loader/schemas.ts"],"names":[],"mappings":"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"}
|
package/lib/loader/hooks.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { normalizePatterns } from '../util/path.js'
|
|
2
2
|
import { globSync } from 'glob'
|
|
3
3
|
import path from 'path'
|
|
4
|
-
import require from '../util/require.js'
|
|
5
4
|
|
|
6
5
|
const hooks = [
|
|
7
6
|
'onRequest',
|
|
@@ -19,24 +18,29 @@ const hooks = [
|
|
|
19
18
|
'preHandler'
|
|
20
19
|
]
|
|
21
20
|
|
|
22
|
-
export function apply(server: any): void {
|
|
21
|
+
export async function apply(server: any): Promise<void> {
|
|
23
22
|
const patterns = normalizePatterns(['..', 'hooks', '*.{ts,js}'], ['src', 'hooks', '*.{ts,js}'])
|
|
24
23
|
const allHooks: any = hooks.reduce((acc, v) => ({ ...acc, [v]: [] as Function[] }), {})
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
for (const pattern of patterns) {
|
|
27
26
|
log.t && log.trace('Looking for ' + pattern)
|
|
28
|
-
globSync(pattern, { windowsPathsNoEscape: true })
|
|
27
|
+
const files = globSync(pattern, { windowsPathsNoEscape: true })
|
|
28
|
+
|
|
29
|
+
for (const f of files) {
|
|
30
|
+
if (f.endsWith('.d.ts')) continue
|
|
31
|
+
|
|
29
32
|
const hookName = path.basename(f, path.extname(f))
|
|
30
|
-
const
|
|
33
|
+
const module = await import(f)
|
|
34
|
+
const fn = module.default || module
|
|
31
35
|
|
|
32
|
-
if (fn != null) {
|
|
36
|
+
if (fn != null && typeof fn === 'function') {
|
|
33
37
|
if (allHooks[hookName] == null) {
|
|
34
38
|
allHooks[hookName] = [] as Function[]
|
|
35
39
|
}
|
|
36
40
|
allHooks[hookName].push((...args) => fn(...args))
|
|
37
41
|
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
40
44
|
|
|
41
45
|
hooks.map((hookName) => {
|
|
42
46
|
const fns: Function[] = allHooks[hookName]
|
package/lib/loader/router.ts
CHANGED
|
@@ -4,24 +4,86 @@ import { FastifyReply, FastifyRequest } from 'fastify'
|
|
|
4
4
|
import { normalizePatterns } from '../util/path.js'
|
|
5
5
|
import { globSync } from 'glob'
|
|
6
6
|
import path from 'path'
|
|
7
|
+
import { fileURLToPath } from 'url'
|
|
7
8
|
import require from '../util/require.js'
|
|
8
9
|
|
|
10
|
+
const __filename = fileURLToPath(import.meta.url)
|
|
11
|
+
const __dirname = path.dirname(__filename)
|
|
12
|
+
|
|
9
13
|
const methods = ['GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'PATCH', 'OPTIONS']
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
async function tryToLoadFile(fileName: string) {
|
|
16
|
+
try {
|
|
17
|
+
const module = await import(fileName)
|
|
18
|
+
return module.default || module
|
|
19
|
+
} catch (err) {
|
|
20
|
+
return null
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async function loadMiddleware(base: string, middleware: string = '') {
|
|
25
|
+
const key = 'global.'
|
|
26
|
+
const isGlobal = middleware.indexOf(key) > -1
|
|
27
|
+
let loadedModule: any = null
|
|
28
|
+
|
|
29
|
+
if (isGlobal) {
|
|
30
|
+
const name = middleware.substring(key.length)
|
|
31
|
+
// Prova path locali (es. src/middleware/auth.ts)
|
|
32
|
+
const localPath = path.resolve(process.cwd() + '/src/middleware/' + name + '.ts') // Prova TS
|
|
33
|
+
const localPathJs = path.resolve(process.cwd() + '/src/middleware/' + name + '.js') // Prova JS (dist)
|
|
34
|
+
|
|
35
|
+
loadedModule = await tryToLoadFile(localPath)
|
|
36
|
+
if (!loadedModule) loadedModule = await tryToLoadFile(localPathJs)
|
|
37
|
+
|
|
38
|
+
// Se non trova locale, prova interno alla lib
|
|
39
|
+
if (!loadedModule) {
|
|
40
|
+
const libPath = path.resolve(__dirname + '/../middleware/' + name + '.js')
|
|
41
|
+
loadedModule = await tryToLoadFile(libPath)
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
// Middleware locale alla route
|
|
45
|
+
const routeMiddPath = path.resolve(base + '/middleware/' + middleware)
|
|
46
|
+
// Qui è difficile indovinare l'estensione se non fornita, assumiamo che il loader sappia cosa fa o proviamo entrambe
|
|
47
|
+
loadedModule = await tryToLoadFile(routeMiddPath + '.ts')
|
|
48
|
+
if (!loadedModule) loadedModule = await tryToLoadFile(routeMiddPath + '.js')
|
|
49
|
+
if (!loadedModule) loadedModule = await tryToLoadFile(routeMiddPath) // Magari ha già estensione
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (!loadedModule) {
|
|
53
|
+
log.error(`Middleware ${middleware} not loaded`)
|
|
54
|
+
throw new Error(`Middleware ${middleware} not loaded`)
|
|
55
|
+
}
|
|
56
|
+
return loadedModule
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async function loadMiddlewares(base: string, middlewares: string[] = []) {
|
|
60
|
+
const midds = {}
|
|
61
|
+
for (const m of middlewares) {
|
|
62
|
+
const middleware = await loadMiddleware(base, m)
|
|
63
|
+
// I middleware possono esportare più funzioni (preHandler, preSerialization, ecc.)
|
|
64
|
+
Object.keys(middleware).map((name) => (midds[name] = [...(midds[name] || []), middleware[name]]))
|
|
65
|
+
}
|
|
66
|
+
return midds
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async function load(): Promise<ConfiguredRoute[]> {
|
|
12
70
|
const validRoutes: ConfiguredRoute[] = []
|
|
13
71
|
const patterns = normalizePatterns(['..', 'api', '**', 'routes.{ts,js}'], ['src', 'api', '**', 'routes.{ts,js}'])
|
|
14
72
|
const authMiddlewares = ['global.isAuthenticated', 'global.isAdmin']
|
|
15
73
|
|
|
16
|
-
|
|
74
|
+
for (const pattern of patterns) {
|
|
17
75
|
log.t && log.trace('Looking for ' + pattern)
|
|
18
|
-
globSync(pattern, { windowsPathsNoEscape: true })
|
|
76
|
+
const files = globSync(pattern, { windowsPathsNoEscape: true })
|
|
77
|
+
|
|
78
|
+
for (const f of files) {
|
|
79
|
+
if (f.endsWith('.d.ts')) continue
|
|
80
|
+
|
|
19
81
|
const base = path.dirname(f)
|
|
20
82
|
const dir = path.basename(base)
|
|
21
83
|
const file = path.join(dir, path.basename(f))
|
|
22
84
|
|
|
23
|
-
|
|
24
|
-
const routesjs =
|
|
85
|
+
const module = await import(f)
|
|
86
|
+
const routesjs = module.default || module
|
|
25
87
|
const { routes = [], config: defaultConfig = {} } = routesjs || {}
|
|
26
88
|
|
|
27
89
|
log.t && log.trace(`* Add ${routes.length} routes from ${file}`)
|
|
@@ -42,7 +104,7 @@ export function load(): ConfiguredRoute[] {
|
|
|
42
104
|
let requiredRoles: Role[] = []
|
|
43
105
|
|
|
44
106
|
try {
|
|
45
|
-
requiredRoles = rsp.some((r) => r.code === roles.admin.code) ? rsp : [...rsp, roles.admin]
|
|
107
|
+
requiredRoles = rsp.some((r) => r.code === roles.admin.code) ? rsp : [...rsp, roles.admin]
|
|
46
108
|
} catch (err) {
|
|
47
109
|
log.e && log.error(`Error in loading roles for ${methodCase} ${pathName} (${handler})`)
|
|
48
110
|
log.t && log.trace(err)
|
|
@@ -57,7 +119,6 @@ export function load(): ConfiguredRoute[] {
|
|
|
57
119
|
config.security = 'bearer'
|
|
58
120
|
}
|
|
59
121
|
|
|
60
|
-
// specific route config
|
|
61
122
|
const {
|
|
62
123
|
title = '',
|
|
63
124
|
description = '',
|
|
@@ -74,24 +135,15 @@ export function load(): ConfiguredRoute[] {
|
|
|
74
135
|
rawBody = false
|
|
75
136
|
} = config || {}
|
|
76
137
|
|
|
77
|
-
// adjust something
|
|
78
138
|
const endpoint = `${dir}${pathName.replace(/\/+$/, '')}`
|
|
79
139
|
const method = methodCase.toUpperCase()
|
|
80
140
|
const num = index + 1
|
|
81
141
|
const handlerParts = handler.split('.')
|
|
82
142
|
|
|
83
143
|
if (enable) {
|
|
84
|
-
if (!pathName.startsWith('/')) {
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (!methods.includes(method)) {
|
|
89
|
-
errors.push(`Error in [${file}] bad method [${method}] at route n. ${num}`)
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (handlerParts.length !== 2) {
|
|
93
|
-
errors.push(`Error in [${file}] bad handler [${handler}] at route n. ${num}`)
|
|
94
|
-
}
|
|
144
|
+
if (!pathName.startsWith('/')) errors.push(`Error in [${file}] bad path [${pathName}] at route n. ${num}`)
|
|
145
|
+
if (!methods.includes(method)) errors.push(`Error in [${file}] bad method [${method}] at route n. ${num}`)
|
|
146
|
+
if (handlerParts.length !== 2) errors.push(`Error in [${file}] bad handler [${handler}] at route n. ${num}`)
|
|
95
147
|
|
|
96
148
|
const key = method + endpoint + version
|
|
97
149
|
if (validRoutes.some((r) => `${r.method}${r.path}${r.doc?.version}` === key)) {
|
|
@@ -122,19 +174,7 @@ export function load(): ConfiguredRoute[] {
|
|
|
122
174
|
version,
|
|
123
175
|
security: security === 'bearer' ? [{ Bearer: [] }] : security,
|
|
124
176
|
response
|
|
125
|
-
} as
|
|
126
|
-
summary: string
|
|
127
|
-
description: string
|
|
128
|
-
deprecated: boolean
|
|
129
|
-
tags: string[]
|
|
130
|
-
version: string
|
|
131
|
-
security: any
|
|
132
|
-
response: any
|
|
133
|
-
querystring: any | undefined
|
|
134
|
-
params: any | undefined
|
|
135
|
-
body: any | undefined
|
|
136
|
-
consumes: any | undefined
|
|
137
|
-
}
|
|
177
|
+
} as any
|
|
138
178
|
|
|
139
179
|
if (query) doc.querystring = query
|
|
140
180
|
if (params) doc.params = params
|
|
@@ -153,67 +193,26 @@ export function load(): ConfiguredRoute[] {
|
|
|
153
193
|
base,
|
|
154
194
|
file: path.join(base, defaultConfig.controller || 'controller', handlerParts[0]),
|
|
155
195
|
func: handlerParts[1],
|
|
156
|
-
doc: doc
|
|
196
|
+
doc: doc
|
|
157
197
|
})
|
|
158
198
|
}
|
|
159
199
|
})
|
|
160
|
-
}
|
|
161
|
-
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
162
202
|
|
|
163
203
|
log.d && log.debug(`Routes loaded: ${validRoutes.length}`)
|
|
164
204
|
return validRoutes
|
|
165
205
|
}
|
|
166
206
|
|
|
167
|
-
async function
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
resolve(required)
|
|
172
|
-
} catch (err) {
|
|
173
|
-
reject(err)
|
|
174
|
-
}
|
|
175
|
-
})
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
async function loadMiddleware(base: string, middleware: string = '') {
|
|
179
|
-
const key = 'global.'
|
|
180
|
-
const isGlobal = middleware.indexOf(key) > -1
|
|
181
|
-
let required: any = null
|
|
182
|
-
|
|
183
|
-
if (isGlobal) {
|
|
184
|
-
const name = middleware.substring(key.length)
|
|
185
|
-
required = await tryToLoadFile(path.resolve(process.cwd() + '/src/middleware/' + name)).catch(async () => {
|
|
186
|
-
return await tryToLoadFile(path.resolve(__dirname + '/../middleware/' + name))
|
|
187
|
-
})
|
|
188
|
-
} else {
|
|
189
|
-
required = await tryToLoadFile(path.resolve(base + '/middleware/' + middleware))
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (!required) {
|
|
193
|
-
log.error(`Middleware ${middleware} not loaded`)
|
|
194
|
-
throw new Error(`Middleware ${middleware} not loaded`)
|
|
207
|
+
async function applyRoutes(server: any, routes: ConfiguredRoute[]): Promise<void> {
|
|
208
|
+
if (!routes || routes.length === 0) {
|
|
209
|
+
log.w && log.warn('No routes to apply to server')
|
|
210
|
+
return
|
|
195
211
|
}
|
|
196
|
-
return required
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
async function loadMiddlewares(base: string, middlewares: string[] = []) {
|
|
200
|
-
const midds = {}
|
|
201
|
-
await Promise.all(
|
|
202
|
-
middlewares.map(async (m) => {
|
|
203
|
-
const middleware = await loadMiddleware(base, m)
|
|
204
|
-
Object.keys(middleware).map((name) => (midds[name] = [...(midds[name] || []), middleware[name]]))
|
|
205
|
-
})
|
|
206
|
-
)
|
|
207
|
-
// log.debug(base + ' middleware ' + middlewares.length + ' -> ' + Object.keys(midds))
|
|
208
|
-
return midds
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
// preParsing, preValidation, preHandler, preSerialization, ..
|
|
212
212
|
|
|
213
|
-
export function apply(server: any, routes: ConfiguredRoute[]): void {
|
|
214
213
|
log.t && log.trace(`Apply ${routes.length} routes to server with pid ${process.pid}`)
|
|
215
214
|
|
|
216
|
-
|
|
215
|
+
for (const route of routes) {
|
|
217
216
|
if (route?.enable) {
|
|
218
217
|
const { handler, method, path, middlewares, roles, rawBody, rateLimit, base, file, func, doc } = route
|
|
219
218
|
|
|
@@ -232,7 +231,20 @@ export function apply(server: any, routes: ConfiguredRoute[]): void {
|
|
|
232
231
|
},
|
|
233
232
|
handler: async function (req: FastifyRequest, reply: FastifyReply) {
|
|
234
233
|
try {
|
|
235
|
-
|
|
234
|
+
// Import dinamico del controller
|
|
235
|
+
// Dobbiamo assicurarci che 'file' abbia l'estensione corretta o che il resolver la trovi
|
|
236
|
+
// In ESM strict, meglio provare ad aggiungere .js se manca, o lasciare che Node risolva se è un path assoluto
|
|
237
|
+
let module
|
|
238
|
+
try {
|
|
239
|
+
module = await import(file + '.js')
|
|
240
|
+
} catch {
|
|
241
|
+
try {
|
|
242
|
+
module = await import(file + '.ts')
|
|
243
|
+
} catch {
|
|
244
|
+
module = await import(file)
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
236
248
|
return await module[func](req, reply)
|
|
237
249
|
} catch (err) {
|
|
238
250
|
log.e && log.error(`Cannot find ${file} or method ${func}: ${err}`)
|
|
@@ -241,5 +253,10 @@ export function apply(server: any, routes: ConfiguredRoute[]): void {
|
|
|
241
253
|
}
|
|
242
254
|
})
|
|
243
255
|
}
|
|
244
|
-
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export async function apply(server: any): Promise<void> {
|
|
260
|
+
const routes = await load()
|
|
261
|
+
return await applyRoutes(server, routes)
|
|
245
262
|
}
|
package/lib/loader/schemas.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { normalizePatterns } from '../util/path.js'
|
|
2
2
|
import { globSync } from 'glob'
|
|
3
3
|
import path from 'path'
|
|
4
|
-
import require from '../util/require.js'
|
|
5
4
|
|
|
6
|
-
export function apply(server: any): void {
|
|
5
|
+
export async function apply(server: any): Promise<void> {
|
|
7
6
|
const [baseSchemaPath, customSchemaPath] = normalizePatterns(
|
|
8
7
|
['..', 'schemas', '*.{ts,js}'],
|
|
9
8
|
['src', 'schemas', '*.{ts,js}']
|
|
@@ -14,14 +13,19 @@ export function apply(server: any): void {
|
|
|
14
13
|
let schemaCount = 0
|
|
15
14
|
|
|
16
15
|
log.t && log.trace('Looking for custom schemas in ' + customSchemaPath)
|
|
17
|
-
globSync(customSchemaPath, { windowsPathsNoEscape: true })
|
|
16
|
+
const customFiles = globSync(customSchemaPath, { windowsPathsNoEscape: true })
|
|
17
|
+
|
|
18
|
+
for (const f of customFiles) {
|
|
19
|
+
if (f.endsWith('.d.ts')) continue
|
|
20
|
+
|
|
18
21
|
try {
|
|
19
|
-
const
|
|
20
|
-
const
|
|
22
|
+
const schemaModule = await import(f)
|
|
23
|
+
const schemaClass = schemaModule.default || schemaModule
|
|
24
|
+
const schemaNames = Object.keys(schemaModule)
|
|
21
25
|
|
|
22
26
|
schemaNames.forEach((name) => {
|
|
23
|
-
const schema =
|
|
24
|
-
if (schema
|
|
27
|
+
const schema = schemaModule[name]
|
|
28
|
+
if (schema && typeof schema === 'object' && schema.$id) {
|
|
25
29
|
customSchemas.push(schema)
|
|
26
30
|
customSchemaIds.add(schema.$id)
|
|
27
31
|
}
|
|
@@ -29,7 +33,7 @@ export function apply(server: any): void {
|
|
|
29
33
|
} catch (e) {
|
|
30
34
|
log.w && log.warn(`Could not load custom schema file: ${f}`, e)
|
|
31
35
|
}
|
|
32
|
-
}
|
|
36
|
+
}
|
|
33
37
|
|
|
34
38
|
customSchemas.forEach((schema) => {
|
|
35
39
|
log.trace(`* Registering custom schema [${schema.$id}]`)
|
|
@@ -38,15 +42,19 @@ export function apply(server: any): void {
|
|
|
38
42
|
})
|
|
39
43
|
|
|
40
44
|
log.t && log.trace('Looking for base schemas in ' + baseSchemaPath)
|
|
41
|
-
globSync(baseSchemaPath, { windowsPathsNoEscape: true })
|
|
45
|
+
const baseFiles = globSync(baseSchemaPath, { windowsPathsNoEscape: true })
|
|
46
|
+
|
|
47
|
+
for (const f of baseFiles) {
|
|
48
|
+
if (f.endsWith('.d.ts')) continue
|
|
49
|
+
|
|
42
50
|
try {
|
|
43
51
|
const schemaFileName = path.basename(f)
|
|
44
|
-
const
|
|
45
|
-
const schemaNames = Object.keys(
|
|
52
|
+
const schemaModule = await import(f)
|
|
53
|
+
const schemaNames = Object.keys(schemaModule)
|
|
46
54
|
|
|
47
55
|
schemaNames.forEach((name) => {
|
|
48
|
-
const schema =
|
|
49
|
-
if (schema
|
|
56
|
+
const schema = schemaModule[name]
|
|
57
|
+
if (schema && typeof schema === 'object' && schema.$id) {
|
|
50
58
|
if (customSchemaIds.has(schema.$id)) {
|
|
51
59
|
log.w &&
|
|
52
60
|
log.warn(
|
|
@@ -57,14 +65,14 @@ export function apply(server: any): void {
|
|
|
57
65
|
server.addSchema(schema)
|
|
58
66
|
schemaCount++
|
|
59
67
|
}
|
|
60
|
-
} else {
|
|
61
|
-
log.w && log.warn(`* Schema with no $id found in ${schemaFileName}, cannot be registered.`)
|
|
68
|
+
} else if (name !== 'default') {
|
|
69
|
+
log.w && log.warn(`* Schema with no $id found in ${schemaFileName} (export ${name}), cannot be registered.`)
|
|
62
70
|
}
|
|
63
71
|
})
|
|
64
72
|
} catch (e) {
|
|
65
73
|
log.w && log.warn(`Could not load base schema file: ${f}`, e)
|
|
66
74
|
}
|
|
67
|
-
}
|
|
75
|
+
}
|
|
68
76
|
|
|
69
77
|
log.d && log.debug(`Schemas loaded: ${schemaCount} referenceable by $ref`)
|
|
70
78
|
}
|