@venizia/ignis-kernel 0.2.0-14 → 0.2.0-16

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.
Files changed (73) hide show
  1. package/dist/cjs/base/applications/artifact-index.d.ts +25 -0
  2. package/dist/cjs/base/applications/artifact-index.d.ts.map +1 -0
  3. package/dist/cjs/base/applications/artifact-index.js +91 -0
  4. package/dist/cjs/base/applications/artifact-index.js.map +1 -0
  5. package/dist/cjs/base/applications/boot-sequence.d.ts +1 -0
  6. package/dist/cjs/base/applications/boot-sequence.d.ts.map +1 -1
  7. package/dist/cjs/base/applications/boot-sequence.js +2 -0
  8. package/dist/cjs/base/applications/boot-sequence.js.map +1 -1
  9. package/dist/cjs/base/applications/common/types/application.d.ts +8 -0
  10. package/dist/cjs/base/applications/common/types/application.d.ts.map +1 -1
  11. package/dist/cjs/base/applications/rest.d.ts +7 -5
  12. package/dist/cjs/base/applications/rest.d.ts.map +1 -1
  13. package/dist/cjs/base/applications/rest.js +76 -60
  14. package/dist/cjs/base/applications/rest.js.map +1 -1
  15. package/dist/cjs/base/controllers/common/constants.d.ts +8 -0
  16. package/dist/cjs/base/controllers/common/constants.d.ts.map +1 -1
  17. package/dist/cjs/base/controllers/common/constants.js +11 -1
  18. package/dist/cjs/base/controllers/common/constants.js.map +1 -1
  19. package/dist/cjs/base/controllers/factory/controller.d.ts +17 -11
  20. package/dist/cjs/base/controllers/factory/controller.d.ts.map +1 -1
  21. package/dist/cjs/base/controllers/factory/crud/abstract.d.ts +2 -25
  22. package/dist/cjs/base/controllers/factory/crud/abstract.d.ts.map +1 -1
  23. package/dist/cjs/base/controllers/factory/crud/abstract.js +1 -21
  24. package/dist/cjs/base/controllers/factory/crud/abstract.js.map +1 -1
  25. package/dist/cjs/base/controllers/factory/crud/persistable.d.ts.map +1 -1
  26. package/dist/cjs/base/controllers/factory/crud/persistable.js +11 -10
  27. package/dist/cjs/base/controllers/factory/crud/persistable.js.map +1 -1
  28. package/dist/cjs/base/controllers/factory/crud/readable.d.ts.map +1 -1
  29. package/dist/cjs/base/controllers/factory/crud/readable.js +8 -8
  30. package/dist/cjs/base/controllers/factory/crud/readable.js.map +1 -1
  31. package/dist/cjs/base/controllers/rest/base.d.ts +34 -2
  32. package/dist/cjs/base/controllers/rest/base.d.ts.map +1 -1
  33. package/dist/cjs/base/controllers/rest/base.js +35 -0
  34. package/dist/cjs/base/controllers/rest/base.js.map +1 -1
  35. package/dist/cjs/base/metadata/injectable.d.ts.map +1 -1
  36. package/dist/cjs/base/metadata/injectable.js.map +1 -1
  37. package/dist/esm/base/applications/artifact-index.d.ts +25 -0
  38. package/dist/esm/base/applications/artifact-index.d.ts.map +1 -0
  39. package/dist/esm/base/applications/artifact-index.js +87 -0
  40. package/dist/esm/base/applications/artifact-index.js.map +1 -0
  41. package/dist/esm/base/applications/boot-sequence.d.ts +1 -0
  42. package/dist/esm/base/applications/boot-sequence.d.ts.map +1 -1
  43. package/dist/esm/base/applications/boot-sequence.js +2 -0
  44. package/dist/esm/base/applications/boot-sequence.js.map +1 -1
  45. package/dist/esm/base/applications/common/types/application.d.ts +8 -0
  46. package/dist/esm/base/applications/common/types/application.d.ts.map +1 -1
  47. package/dist/esm/base/applications/rest.d.ts +7 -5
  48. package/dist/esm/base/applications/rest.d.ts.map +1 -1
  49. package/dist/esm/base/applications/rest.js +76 -60
  50. package/dist/esm/base/applications/rest.js.map +1 -1
  51. package/dist/esm/base/controllers/common/constants.d.ts +8 -0
  52. package/dist/esm/base/controllers/common/constants.d.ts.map +1 -1
  53. package/dist/esm/base/controllers/common/constants.js +9 -0
  54. package/dist/esm/base/controllers/common/constants.js.map +1 -1
  55. package/dist/esm/base/controllers/factory/controller.d.ts +17 -11
  56. package/dist/esm/base/controllers/factory/controller.d.ts.map +1 -1
  57. package/dist/esm/base/controllers/factory/crud/abstract.d.ts +2 -25
  58. package/dist/esm/base/controllers/factory/crud/abstract.d.ts.map +1 -1
  59. package/dist/esm/base/controllers/factory/crud/abstract.js +1 -21
  60. package/dist/esm/base/controllers/factory/crud/abstract.js.map +1 -1
  61. package/dist/esm/base/controllers/factory/crud/persistable.d.ts.map +1 -1
  62. package/dist/esm/base/controllers/factory/crud/persistable.js +11 -10
  63. package/dist/esm/base/controllers/factory/crud/persistable.js.map +1 -1
  64. package/dist/esm/base/controllers/factory/crud/readable.d.ts.map +1 -1
  65. package/dist/esm/base/controllers/factory/crud/readable.js +8 -8
  66. package/dist/esm/base/controllers/factory/crud/readable.js.map +1 -1
  67. package/dist/esm/base/controllers/rest/base.d.ts +34 -2
  68. package/dist/esm/base/controllers/rest/base.d.ts.map +1 -1
  69. package/dist/esm/base/controllers/rest/base.js +36 -1
  70. package/dist/esm/base/controllers/rest/base.js.map +1 -1
  71. package/dist/esm/base/metadata/injectable.d.ts.map +1 -1
  72. package/dist/esm/base/metadata/injectable.js.map +1 -1
  73. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"boot-sequence.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGjF,+LAA+L;AAC/L,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qBAAqB;IACrD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,uBAAuB;IACzD,MAAM,CAAC,QAAQ,CAAC,aAAa,kBAAkB;IAC/C,MAAM,CAAC,QAAQ,CAAC,4BAA4B,gCAAgC;IAC5E,MAAM,CAAC,QAAQ,CAAC,qBAAqB,yBAAyB;IAC9D,MAAM,CAAC,QAAQ,CAAC,mBAAmB,wBAAwB;IAC3D,MAAM,CAAC,QAAQ,CAAC,iCAAiC,oCAAoC;IACrF,MAAM,CAAC,QAAQ,CAAC,oBAAoB,yBAAyB;IAC7D,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAAmB;IAEjD,MAAM,CAAC,QAAQ,CAAC,UAAU,cAUvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,2KAA2K;AAC3K,qBAAa,YAAY;IACvB,2IAA2I;IAC3I,OAAO,CAAC,MAAM,CAAC,OAAO;IAsBtB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACvB,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,iBAAiB,CAAC;KACzB,GAAG,iBAAiB,EAAE;CAMxB"}
1
+ {"version":3,"file":"boot-sequence.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAGjF,+LAA+L;AAC/L,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qBAAqB;IACrD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,uBAAuB;IACzD,MAAM,CAAC,QAAQ,CAAC,aAAa,kBAAkB;IAC/C,MAAM,CAAC,QAAQ,CAAC,4BAA4B,gCAAgC;IAC5E,MAAM,CAAC,QAAQ,CAAC,qBAAqB,yBAAyB;IAC9D,MAAM,CAAC,QAAQ,CAAC,mBAAmB,wBAAwB;IAC3D,MAAM,CAAC,QAAQ,CAAC,iCAAiC,oCAAoC;IACrF,MAAM,CAAC,QAAQ,CAAC,oBAAoB,yBAAyB;IAC7D,MAAM,CAAC,QAAQ,CAAC,cAAc,mBAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,eAAe,oBAAoB;IAEnD,MAAM,CAAC,QAAQ,CAAC,UAAU,cAWvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,SAAS,CAAC,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;CACjC;AAED,2KAA2K;AAC3K,qBAAa,YAAY;IACvB,2IAA2I;IAC3I,OAAO,CAAC,MAAM,CAAC,OAAO;IAsBtB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;QACvB,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,iBAAiB,CAAC;KACzB,GAAG,iBAAiB,EAAE;CAMxB"}
@@ -10,6 +10,7 @@ export class BootSteps {
10
10
  static { this.REGISTER_CONTRIBUTED_DATA_SOURCES = 'registerContributedDataSources'; }
11
11
  static { this.REGISTER_CONTROLLERS = 'registerControllers'; }
12
12
  static { this.POST_CONFIGURE = 'postConfigure'; }
13
+ static { this.VERIFY_BINDINGS = 'verifyBindings'; }
13
14
  static { this.SCHEME_SET = new Set([
14
15
  this.STATIC_CONFIGURE,
15
16
  this.REGISTER_ARTIFACTS,
@@ -20,6 +21,7 @@ export class BootSteps {
20
21
  this.REGISTER_CONTRIBUTED_DATA_SOURCES,
21
22
  this.REGISTER_CONTROLLERS,
22
23
  this.POST_CONFIGURE,
24
+ this.VERIFY_BINDINGS,
23
25
  ]); }
24
26
  static isValid(value) {
25
27
  return this.SCHEME_SET.has(value);
@@ -1 +1 @@
1
- {"version":3,"file":"boot-sequence.js","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,+LAA+L;AAC/L,MAAM,OAAO,SAAS;aACJ,qBAAgB,GAAG,iBAAiB,CAAC;aACrC,uBAAkB,GAAG,mBAAmB,CAAC;aACzC,kBAAa,GAAG,cAAc,CAAC;aAC/B,iCAA4B,GAAG,4BAA4B,CAAC;aAC5D,0BAAqB,GAAG,qBAAqB,CAAC;aAC9C,wBAAmB,GAAG,oBAAoB,CAAC;aAC3C,sCAAiC,GAAG,gCAAgC,CAAC;aACrE,yBAAoB,GAAG,qBAAqB,CAAC;aAC7C,mBAAc,GAAG,eAAe,CAAC;aAEjC,eAAU,GAAG,IAAI,GAAG,CAAS;QAC3C,IAAI,CAAC,gBAAgB;QACrB,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,4BAA4B;QACjC,IAAI,CAAC,qBAAqB;QAC1B,IAAI,CAAC,mBAAmB;QACxB,IAAI,CAAC,iCAAiC;QACtC,IAAI,CAAC,oBAAoB;QACzB,IAAI,CAAC,cAAc;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAUH,2KAA2K;AAC3K,MAAM,OAAO,YAAY;IACvB,2IAA2I;IACnI,MAAM,CAAC,OAAO,CAAC,IAAoD;QACzE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,MAAM,QAAQ,CAAC;oBACb,OAAO,EAAE,iCAAiC,MAAM,oBAAoB,KAAK,EAAE;iBAC5E,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,QAAQ,CAAC;oBACb,OAAO,EAAE,mCAAmC,MAAM,aAAa,OAAO,CAAC,MAAM,yBAAyB,KAAK,EAAE;iBAC9G,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAIlB;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CACF"}
1
+ {"version":3,"file":"boot-sequence.js","sourceRoot":"","sources":["../../../../src/base/applications/boot-sequence.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,+LAA+L;AAC/L,MAAM,OAAO,SAAS;aACJ,qBAAgB,GAAG,iBAAiB,CAAC;aACrC,uBAAkB,GAAG,mBAAmB,CAAC;aACzC,kBAAa,GAAG,cAAc,CAAC;aAC/B,iCAA4B,GAAG,4BAA4B,CAAC;aAC5D,0BAAqB,GAAG,qBAAqB,CAAC;aAC9C,wBAAmB,GAAG,oBAAoB,CAAC;aAC3C,sCAAiC,GAAG,gCAAgC,CAAC;aACrE,yBAAoB,GAAG,qBAAqB,CAAC;aAC7C,mBAAc,GAAG,eAAe,CAAC;aACjC,oBAAe,GAAG,gBAAgB,CAAC;aAEnC,eAAU,GAAG,IAAI,GAAG,CAAS;QAC3C,IAAI,CAAC,gBAAgB;QACrB,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,4BAA4B;QACjC,IAAI,CAAC,qBAAqB;QAC1B,IAAI,CAAC,mBAAmB;QACxB,IAAI,CAAC,iCAAiC;QACtC,IAAI,CAAC,oBAAoB;QACzB,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,eAAe;KACrB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAUH,2KAA2K;AAC3K,MAAM,OAAO,YAAY;IACvB,2IAA2I;IACnI,MAAM,CAAC,OAAO,CAAC,IAAoD;QACzE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,MAAM,QAAQ,CAAC;oBACb,OAAO,EAAE,iCAAiC,MAAM,oBAAoB,KAAK,EAAE;iBAC5E,CAAC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,QAAQ,CAAC;oBACb,OAAO,EAAE,mCAAmC,MAAM,aAAa,OAAO,CAAC,MAAM,yBAAyB,KAAK,EAAE;iBAC9G,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAIlB;QACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;CACF"}
@@ -24,6 +24,14 @@ export interface IApplicationConfigs {
24
24
  };
25
25
  /** Generated indexes to register before `preConfigure` - one, or an array composed from several packages. */
26
26
  artifacts?: TArtifactIndexInput;
27
+ /** Boot-time checks. Without `binding`, nothing is verified, and hand registration and same-key override stay allowed. */
28
+ bootChecks?: {
29
+ binding?: {
30
+ doVerify: boolean;
31
+ allowManual: boolean;
32
+ allowOverride: boolean;
33
+ };
34
+ };
27
35
  debug?: {
28
36
  shouldShowRoutes?: boolean;
29
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../src/base/applications/common/types/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qNAAqN;AACrN,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4PAA4P;IAC5P,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,6GAA6G;IAC7G,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,KAAK,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,yOAAyO;AACzO,MAAM,WAAW,YAAY,CAC3B,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,MAAM,GAAG,GAAG;IAE7B,cAAc,IAAI,MAAM,CAAC;IACzB,iBAAiB,IAAI,mBAAmB,CAAC;IACzC,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE1D,gBAAgB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBACf,SACE,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB;CAAG"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../../src/base/applications/common/types/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,qNAAqN;AACrN,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4PAA4P;IAC5P,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACnC,6GAA6G;IAC7G,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,0HAA0H;IAC1H,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,OAAO,CAAC;YAAC,aAAa,EAAE,OAAO,CAAA;SAAE,CAAC;KAC/E,CAAC;IACF,KAAK,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;CAC/B;AAED,yOAAyO;AACzO,MAAM,WAAW,YAAY,CAC3B,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,MAAM,GAAG,GAAG;IAE7B,cAAc,IAAI,MAAM,CAAC;IACzB,iBAAiB,IAAI,mBAAmB,CAAC;IACzC,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtD,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE1D,gBAAgB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAEzC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBACf,SACE,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB;CAAG"}
@@ -56,6 +56,11 @@ export declare abstract class RestApplication<AppEnv extends Env = Env, AppSchem
56
56
  */
57
57
  protected getBootSequence(): IBootSequenceStep[];
58
58
  initialize(): Promise<void>;
59
+ /** The application hook currently running, so `registerArtifact` can tell a hand registration inside `preConfigure`/`postConfigure` from one the index step made. */
60
+ private runningApplicationHook;
61
+ private runApplicationHook;
62
+ /** `bootChecks.binding.doVerify`: resolve every service and repository once, collect every failure, throw once with the whole list - a made-up `@inject` key or a dependency a `when` excluded then fails the boot, not the first request. */
63
+ protected verifyBindings(): void;
59
64
  /** One measured log line per step, and a failure names its step before rethrowing, so a hung or failed boot is attributable without reading the sequence. */
60
65
  protected runBootSequence(opts: {
61
66
  steps: IBootSequenceStep[];
@@ -74,7 +79,7 @@ export declare abstract class RestApplication<AppEnv extends Env = Env, AppSchem
74
79
  }) => Promise<void>;
75
80
  }): Promise<void>;
76
81
  protected registerDynamicBindings<T extends IConfigurable = IConfigurable>(opts: IRegisterDynamicBindingsOptions<T>): Promise<void>;
77
- /** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`, and core-server's `booter`). `allowOverride` defaults true to match `bind()`'s overwrite behavior - `allowOverride: false` opts into strict mode. */
82
+ /** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`). `allowOverride` defaults true to match `bind()`'s overwrite behavior; `allowOverride: false` on one registration, or `bootChecks.binding.allowOverride: false` for the whole application, opts into strict mode. */
78
83
  protected assertNoBindingCollision(opts: {
79
84
  key: string;
80
85
  allowOverride?: boolean;
@@ -97,13 +102,10 @@ export declare abstract class RestApplication<AppEnv extends Env = Env, AppSchem
97
102
  service<Base extends IService>(ctor: TClass<Base>, opts?: TMixinOpts): Binding<Base>;
98
103
  repository<Base extends IRepository>(ctor: TClass<Base>, opts?: TMixinOpts): Binding<Base>;
99
104
  dataSource<Base extends IDataSource>(ctor: TClass<Base>, opts?: TMixinOpts): Binding<Base>;
100
- /** Registers one index or a composition of indexes in dependency order: datasources, components, repositories, services, controllers. `when` and `order` from each class's decorator apply; a class registered by hand before this call keeps its earlier position. */
105
+ /** The boot step body behind `configs.artifacts`, also callable by hand: registers every kind in dependency order across the given indexes. */
101
106
  registerArtifacts(index: TArtifactIndexInput): Promise<void>;
102
107
  /** The boot step behind `configs.artifacts`; an application with none configured registers nothing here. */
103
108
  protected registerConfiguredArtifacts(): Promise<void>;
104
- private flattenArtifactIndex;
105
- /** The classes of one kind across every index, minus those whose `when` says no, sorted by `order` (stable). */
106
- private selectArtifacts;
107
109
  /** Each `@provide` method becomes a lazy provider: the component is resolved (SINGLETON) and the method called on first `get`, so a provided value may depend on datasources or secrets that do not exist yet at registration time. */
108
110
  private bindProvidedKeys;
109
111
  registerDataSources(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAGL,kBAAkB,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEzE,UAAU,+BAA+B,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAC/E,SAAS,EAAE,iBAAiB,CAAC;IAE7B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClF;AAED,4NAA4N;AAC5N,8BAAsB,eAAe,CACnC,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,EAAE,EAC7B,QAAQ,SAAS,MAAM,GAAG,GAAG,CAC7B,SAAQ,mBAAmB;IAC3B,OAAO,CAAC,kBAAkB,CAAmC;IAE7D,sPAAsP;IACtP,SAAS,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAC;IAErE,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBAE9C,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE;IAehE,aAAa,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IAIzD,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;cAIlC,oBAAoB;IAWvC,oHAAoH;IACpH,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,sLAAsL;IACtL,SAAS,CAAC,oBAAoB,IAAI,sBAAsB;IAYxD;;;;OAIG;IACH,SAAS,CAAC,0BAA0B,IAAI,cAAc,CAAC,IAAI,CAAC;IAQ5D;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,iBAAiB,EAAE;IA+B1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,qKAAqK;IACrK,OAAO,CAAC,sBAAsB,CAAqB;YAErC,kBAAkB;IAYhC,8OAA8O;IAC9O,SAAS,CAAC,cAAc,IAAI,IAAI;IAiChC,6JAA6J;cAC7I,eAAe,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpF,SAAS,CAAC,aAAa;IAevB;;;;OAIG;IACG,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;QACxB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,MAAM,EAAE,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC1D,GAAG,OAAO,CAAC,IAAI,CAAC;cAwBD,uBAAuB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAC7E,IAAI,EAAE,+BAA+B,CAAC,CAAC,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC;IAmChB,6UAA6U;IAC7U,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE;QACvC,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI;IAmBR,uNAAuN;IACvN,OAAO,CAAC,gBAAgB;IAkCxB,SAAS,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrF,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC;;;;OAIG;IACG,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrD,oHAAoH;IAC9G,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB1C,8JAA8J;IAC9J,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE,OAAO,CAAC,IAAI,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpF,UAAU,CAAC,IAAI,SAAS,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1F,UAAU,CAAC,IAAI,SAAS,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1F,+IAA+I;IACzI,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BlE,4GAA4G;cAC5F,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5D,uOAAuO;IACvO,OAAO,CAAC,gBAAgB;IAyBlB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAU3C"}
@@ -9,8 +9,8 @@ import { ControllerTransports } from '../controllers/common/constants.js';
9
9
  import { BaseAppErrorMiddleware } from '../middlewares/app-error/app-error.middleware.js';
10
10
  import { notFoundHandler } from '../middlewares/not-found/not-found.middleware.js';
11
11
  import { AbstractApplication } from './abstract.js';
12
+ import { ArtifactIndexHelper } from './artifact-index.js';
12
13
  import { BootSteps } from './boot-sequence.js';
13
- import { ArtifactIndexFields } from './common/index.js';
14
14
  /** Adds the `OpenAPIHono` router surface on top of `AbstractApplication` - no listening server, so this is the layer a browser Worker or gRPC-only host can extend without pulling in `Bun.serve` / `@hono/node-server`. */
15
15
  export class RestApplication extends AbstractApplication {
16
16
  constructor(opts) {
@@ -75,7 +75,13 @@ export class RestApplication extends AbstractApplication {
75
75
  return [
76
76
  { name: BootSteps.STATIC_CONFIGURE, run: () => this.staticConfigure() },
77
77
  { name: BootSteps.REGISTER_ARTIFACTS, run: () => this.registerConfiguredArtifacts() },
78
- { name: BootSteps.PRE_CONFIGURE, run: () => this.preConfigure() },
78
+ {
79
+ name: BootSteps.PRE_CONFIGURE,
80
+ run: () => this.runApplicationHook({
81
+ name: BootSteps.PRE_CONFIGURE,
82
+ hook: () => this.preConfigure(),
83
+ }),
84
+ },
79
85
  { name: BootSteps.REGISTER_DATA_SOURCES, run: () => this.registerDataSources() },
80
86
  { name: BootSteps.REGISTER_COMPONENTS, run: () => this.registerComponents() },
81
87
  {
@@ -83,12 +89,56 @@ export class RestApplication extends AbstractApplication {
83
89
  run: () => this.registerContributedDataSources(),
84
90
  },
85
91
  { name: BootSteps.REGISTER_CONTROLLERS, run: () => this.registerControllers() },
86
- { name: BootSteps.POST_CONFIGURE, run: () => this.postConfigure() },
92
+ {
93
+ name: BootSteps.POST_CONFIGURE,
94
+ run: () => this.runApplicationHook({
95
+ name: BootSteps.POST_CONFIGURE,
96
+ hook: () => this.postConfigure(),
97
+ }),
98
+ },
99
+ { name: BootSteps.VERIFY_BINDINGS, run: () => this.verifyBindings() },
87
100
  ];
88
101
  }
89
102
  async initialize() {
90
103
  await this.runBootSequence({ steps: this.getBootSequence() });
91
104
  }
105
+ async runApplicationHook(opts) {
106
+ this.runningApplicationHook = opts.name;
107
+ try {
108
+ await opts.hook();
109
+ }
110
+ finally {
111
+ this.runningApplicationHook = undefined;
112
+ }
113
+ }
114
+ /** `bootChecks.binding.doVerify`: resolve every service and repository once, collect every failure, throw once with the whole list - a made-up `@inject` key or a dependency a `when` excluded then fails the boot, not the first request. */
115
+ verifyBindings() {
116
+ if (!this.configs.bootChecks?.binding?.doVerify) {
117
+ return;
118
+ }
119
+ const logger = this.logger.for(this.verifyBindings.name);
120
+ const tags = [BindingNamespaces.SERVICE, BindingNamespaces.REPOSITORY];
121
+ const failures = [];
122
+ let verified = 0;
123
+ for (const tag of tags) {
124
+ const bindings = this.findByTag({ tag });
125
+ for (const binding of bindings) {
126
+ try {
127
+ this.get({ key: binding.key });
128
+ verified += 1;
129
+ }
130
+ catch (error) {
131
+ failures.push(`${binding.key}: ${error instanceof Error ? error.message : String(error)}`);
132
+ }
133
+ }
134
+ }
135
+ if (failures.length > 0) {
136
+ throw getError({
137
+ message: `[${this.verifyBindings.name}] ${failures.length} binding(s) cannot be resolved | ${failures.join(' | ')}`,
138
+ });
139
+ }
140
+ logger.info('Every service and repository binding resolves | verified: %d', verified);
141
+ }
92
142
  /** One measured log line per step, and a failure names its step before rethrowing, so a hung or failed boot is attributable without reading the sequence. */
93
143
  async runBootSequence(opts) {
94
144
  const { steps } = opts;
@@ -174,20 +224,31 @@ export class RestApplication extends AbstractApplication {
174
224
  },
175
225
  });
176
226
  }
177
- /** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`, and core-server's `booter`). `allowOverride` defaults true to match `bind()`'s overwrite behavior - `allowOverride: false` opts into strict mode. */
227
+ /** The same-key guard behind every artifact registration (`component`/`controller`/`service`/`repository`/`dataSource`). `allowOverride` defaults true to match `bind()`'s overwrite behavior; `allowOverride: false` on one registration, or `bootChecks.binding.allowOverride: false` for the whole application, opts into strict mode. */
178
228
  assertNoBindingCollision(opts) {
179
- const { key, allowOverride = true, caller } = opts;
229
+ const { key, caller } = opts;
230
+ const allowOverride = opts.allowOverride ?? this.configs.bootChecks?.binding?.allowOverride ?? true;
180
231
  if (allowOverride || !this.isBound({ key })) {
181
232
  return;
182
233
  }
234
+ const reason = opts.allowOverride === false
235
+ ? `'allowOverride: false' was set and this key collides with an existing binding | Use a distinct 'opts.binding' key, or drop 'allowOverride: false' if overriding is intentional`
236
+ : `'bootChecks.binding.allowOverride' is false and this key collides with an existing binding | Use a distinct 'opts.binding' key, or set 'allowOverride: true' on this registration if overriding is intentional`;
183
237
  throw getError({
184
- message: `[${caller}] Binding key already registered: '${key}' | 'allowOverride: false' was set and this key collides with an existing binding | Use a distinct 'opts.binding' key, or drop 'allowOverride: false' if overriding is intentional`,
238
+ message: `[${caller}] Binding key already registered: '${key}' | ${reason}`,
185
239
  });
186
240
  }
187
241
  /** Resolution order for every registration: explicit `opts` > the class's `@injectable` defaults > the derived key and the kind's default scope. `order` and `when` are `registerArtifacts`' concern, not this one. */
188
242
  registerArtifact(opts) {
189
243
  const { ctor, namespace, defaultScope, caller } = opts;
190
244
  const declared = MetadataRegistry.getInstance().getArtifactMetadata({ target: ctor });
245
+ if (this.runningApplicationHook &&
246
+ this.configs.artifacts &&
247
+ this.configs.bootChecks?.binding?.allowManual === false) {
248
+ throw getError({
249
+ message: `[${caller}] '${ctor.name}' is registered by hand inside ${this.runningApplicationHook}() while 'configs.artifacts' is set and 'bootChecks.binding.allowManual' is false | Move the class into the generated index (or an explicit entry of 'configs.artifacts'), or allow manual registration`,
250
+ });
251
+ }
191
252
  const key = BindingKeys.build(opts.opts?.binding ?? declared?.binding ?? { namespace, key: ctor.name });
192
253
  this.assertNoBindingCollision({
193
254
  key,
@@ -285,40 +346,26 @@ export class RestApplication extends AbstractApplication {
285
346
  opts,
286
347
  });
287
348
  }
288
- /** Registers one index or a composition of indexes in dependency order: datasources, components, repositories, services, controllers. `when` and `order` from each class's decorator apply; a class registered by hand before this call keeps its earlier position. */
349
+ /** The boot step body behind `configs.artifacts`, also callable by hand: registers every kind in dependency order across the given indexes. */
289
350
  async registerArtifacts(index) {
290
- const indexes = this.flattenArtifactIndex({ input: index });
291
- const dataSources = await this.selectArtifacts({
292
- indexes,
293
- field: ArtifactIndexFields.DATA_SOURCES,
351
+ const resolved = await ArtifactIndexHelper.getInstance().resolve({
352
+ input: index,
353
+ application: this,
294
354
  });
295
- for (const ctor of dataSources) {
355
+ for (const ctor of resolved.dataSources) {
296
356
  this.dataSource(ctor);
297
357
  }
298
- const components = await this.selectArtifacts({
299
- indexes,
300
- field: ArtifactIndexFields.COMPONENTS,
301
- });
302
- for (const ctor of components) {
358
+ for (const ctor of resolved.components) {
303
359
  this.component(ctor);
304
360
  this.bindProvidedKeys({ ctor });
305
361
  }
306
- const repositories = await this.selectArtifacts({
307
- indexes,
308
- field: ArtifactIndexFields.REPOSITORIES,
309
- });
310
- for (const ctor of repositories) {
362
+ for (const ctor of resolved.repositories) {
311
363
  this.repository(ctor);
312
364
  }
313
- const services = await this.selectArtifacts({ indexes, field: ArtifactIndexFields.SERVICES });
314
- for (const ctor of services) {
365
+ for (const ctor of resolved.services) {
315
366
  this.service(ctor);
316
367
  }
317
- const controllers = await this.selectArtifacts({
318
- indexes,
319
- field: ArtifactIndexFields.CONTROLLERS,
320
- });
321
- for (const ctor of controllers) {
368
+ for (const ctor of resolved.controllers) {
322
369
  this.controller(ctor);
323
370
  }
324
371
  }
@@ -330,37 +377,6 @@ export class RestApplication extends AbstractApplication {
330
377
  }
331
378
  await this.registerArtifacts(artifacts);
332
379
  }
333
- flattenArtifactIndex(opts) {
334
- const { input } = opts;
335
- if (Array.isArray(input)) {
336
- return input.flatMap(entry => this.flattenArtifactIndex({ input: entry }));
337
- }
338
- return [input];
339
- }
340
- /** The classes of one kind across every index, minus those whose `when` says no, sorted by `order` (stable). */
341
- async selectArtifacts(opts) {
342
- const { indexes, field } = opts;
343
- const logger = this.logger.for(this.registerArtifacts.name);
344
- const registry = MetadataRegistry.getInstance();
345
- const listed = indexes.flatMap(index => [...(index[field] ?? [])]);
346
- const kept = [];
347
- for (const ctor of listed) {
348
- const when = registry.getArtifactMetadata({ target: ctor })?.when;
349
- if (!when || (await when({ application: this }))) {
350
- kept.push(ctor);
351
- continue;
352
- }
353
- logger.debug('Skipped by condition | kind: %s | class: %s', field, ctor.name);
354
- }
355
- return kept
356
- .map((ctor, position) => ({
357
- ctor,
358
- position,
359
- order: registry.getArtifactMetadata({ target: ctor })?.order ?? 0,
360
- }))
361
- .sort((a, b) => a.order - b.order || a.position - b.position)
362
- .map(entry => entry.ctor);
363
- }
364
380
  /** Each `@provide` method becomes a lazy provider: the component is resolved (SINGLETON) and the method called on first `get`, so a provided value may depend on datasources or secrets that do not exist yet at registration time. */
365
381
  bindProvidedKeys(opts) {
366
382
  const { ctor } = opts;
@@ -1 +1 @@
1
- {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/base/applications/rest.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,14 @@ export declare class ControllerTransports {
7
7
  static readonly GRPC = "grpc";
8
8
  }
9
9
  export type TControllerTransport = TConstValue<typeof ControllerTransports>;
10
+ /** Shape of `data` in a `{ count, data }` response, echoed in the `X-Response-Format` header. */
11
+ export declare class ResponseFormats {
12
+ static readonly OBJECT = "object";
13
+ static readonly ARRAY = "array";
14
+ static readonly SCHEME_SET: Set<string>;
15
+ static isValid(value: string): boolean;
16
+ }
17
+ export type TResponseFormat = TConstValue<typeof ResponseFormats>;
10
18
  /** Standard REST API path constants for CRUD controllers. */
11
19
  export declare class RestPaths {
12
20
  static readonly ROOT = "/";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,oDAAoD;AACpD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,6DAA6D;AAC7D,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC;AAED,eAAO,MAAM,gBAAgB;;;;iBAkB3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAS3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAAkD,CAAC;AAErF,eAAO,MAAM,qBAAqB,EAAE,gBAanC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,oDAAoD;AACpD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;CAC/B;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,iGAAiG;AACjG,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAEhC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA8C;IAExE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAElE,6DAA6D;AAC7D,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IACjC,MAAM,CAAC,QAAQ,CAAC,QAAQ,eAAe;CACxC;AAED,eAAO,MAAM,gBAAgB;;;;iBAkB3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAS3B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;iBAAkD,CAAC;AAErF,eAAO,MAAM,qBAAqB,EAAE,gBAanC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAMjC,CAAC"}
@@ -5,6 +5,15 @@ export class ControllerTransports {
5
5
  static { this.REST = 'rest'; }
6
6
  static { this.GRPC = 'grpc'; }
7
7
  }
8
+ /** Shape of `data` in a `{ count, data }` response, echoed in the `X-Response-Format` header. */
9
+ export class ResponseFormats {
10
+ static { this.OBJECT = 'object'; }
11
+ static { this.ARRAY = 'array'; }
12
+ static { this.SCHEME_SET = new Set([this.OBJECT, this.ARRAY]); }
13
+ static isValid(value) {
14
+ return this.SCHEME_SET.has(value);
15
+ }
16
+ }
8
17
  /** Standard REST API path constants for CRUD controllers. */
9
18
  export class RestPaths {
10
19
  static { this.ROOT = '/'; }
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAGrD,oDAAoD;AACpD,MAAM,OAAO,oBAAoB;aACf,SAAI,GAAG,MAAM,CAAC;aACd,SAAI,GAAG,MAAM,CAAC;;AAKhC,6DAA6D;AAC7D,MAAM,OAAO,SAAS;aACJ,SAAI,GAAG,GAAG,CAAC;aACX,UAAK,GAAG,QAAQ,CAAC;aACjB,aAAQ,GAAG,WAAW,CAAC;;AAGzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC/D,WAAW,EAAE,qBAAqB;KACnC,CAAC;IACF,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;SAC9B,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC;KACvC,CAAC;IACJ,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;SAClC,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EAAE,8BAA8B;QAC3C,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC;KACjD,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;SACjC,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,WAAW,EACT,0GAA0G;QAC5G,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC;KACtC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QACjC,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;QAClC,WAAW,EAAE,+BAA+B;QAC5C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;KACzD;IACD,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC9B,WAAW,EAAE,2BAA2B;QACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;KAC1D;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD,GAAG,qBAAqB;IACxB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC5B,WAAW,EAAE,yDAAyD;QACtE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE;KAChF;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/base/controllers/common/constants.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,15 @@ export declare class ControllerFactory extends BaseHelper {
40
40
  context: import("../index.js").TRouteContext<RouteEnv>;
41
41
  }): Promise<import("../index.js").TJsonResponse<unknown, 200>>;
42
42
  repository: AbstractRepository<TDataObject, TPersistObject, import("../../repositories/index.js").IExtraOptions>;
43
+ bulkWhereError(opts: {
44
+ context: import("../index.js").TRouteContext<RouteEnv>;
45
+ where?: object;
46
+ }): import("../index.js").TJsonResponse<unknown, 400> | undefined;
47
+ measure<R>(opts: {
48
+ scope: string;
49
+ args: unknown;
50
+ task: () => Promise<R>;
51
+ }): Promise<any>;
43
52
  normalizeCountData<ResponseSchema extends unknown, RequestContext extends import("../index.js").TRouteContext<RouteEnv> = import("../index.js").TRouteContext<RouteEnv>, ResponseData extends {
44
53
  count: number;
45
54
  data?: import("@venizia/ignis-helpers/common").TNullable<ResponseSchema>;
@@ -48,28 +57,25 @@ export declare class ControllerFactory extends BaseHelper {
48
57
  data?: import("@venizia/ignis-helpers/common").TNullable<ResponseSchema>;
49
58
  }>(opts: {
50
59
  context: RequestContext;
51
- responseData: ResponseData;
60
+ payload: ResponseData;
52
61
  }): ResponseData | import("@venizia/ignis-helpers/common").TNullable<ResponseSchema>;
53
62
  respond<R>(opts: {
54
63
  context: import("../index.js").TRouteContext<RouteEnv>;
55
- format: "object" | "array";
56
- responseData: {
64
+ format: import("../index.js").TResponseFormat;
65
+ payload: {
57
66
  count: number;
58
67
  data?: import("@venizia/ignis-helpers/common").TNullable<R>;
59
68
  };
69
+ range?: import("../../repositories/index.js").TDataRange;
60
70
  }): import("@venizia/ignis-helpers/common").TNullable<R> | {
61
71
  count: number;
62
72
  data?: import("@venizia/ignis-helpers/common").TNullable<R>;
63
73
  };
64
- bulkWhereError(opts: {
74
+ setListHeaders(opts: {
65
75
  context: import("../index.js").TRouteContext<RouteEnv>;
66
- where?: object;
67
- }): import("../index.js").TJsonResponse<unknown, 400> | undefined;
68
- measure<R>(opts: {
69
- scope: string;
70
- args: unknown;
71
- task: () => Promise<R>;
72
- }): Promise<any>;
76
+ range: import("../../repositories/index.js").TDataRange;
77
+ count: number;
78
+ }): void;
73
79
  toHonoHandler<ResponseType = unknown>(opts: {
74
80
  handler: import("../index.js").TRouteHandler<ResponseType, RouteEnv>;
75
81
  }): import("hono").Handler<RouteEnv, string, import("hono").Input, (Response | Promise<Response>) | (import("@hono/zod-openapi").RouteConfigToTypedResponse<import("@hono/zod-openapi").RouteConfig> | Promise<import("@hono/zod-openapi").RouteConfigToTypedResponse<import("@hono/zod-openapi").RouteConfig>>)>;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAInB,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,UAAU;;IAK/C,MAAM,CAAC,oBAAoB,CACzB,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,EACnF,MAAM,SAAS,mBAAmB,GAAG,mBAAmB,EACxD,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EACvD,cAAc,SAAS,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAC7D,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC;yBAuCtB,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC;YAUvE,iGAAiG;uBAC7E,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAxC,CAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFF"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AAEnE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,WAAW,CAAC;AAInB,6EAA6E;AAC7E,qBAAa,iBAAkB,SAAQ,UAAU;;IAK/C,MAAM,CAAC,oBAAoB,CACzB,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,EACnF,MAAM,SAAS,mBAAmB,GAAG,mBAAmB,EACxD,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EACvD,cAAc,SAAS,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAC7D,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC;yBAuCtB,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC;YAUvE,iGAAiG;uBAC7E,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAxC,CAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFF"}
@@ -1,11 +1,11 @@
1
1
  import type { AbstractEntity } from '../../../models/base.js';
2
2
  import type { AbstractRepository } from '../../../repositories/index.js';
3
3
  import type { TAnyObjectSchema } from '../../../../utilities/schema.utility.js';
4
- import type { AnyType, TNullable } from '@venizia/ignis-helpers/common';
4
+ import type { AnyType } from '@venizia/ignis-helpers/common';
5
5
  import type { Env, Schema } from 'hono';
6
6
  import type { TEntityDataObject, TEntityPersistObject, TRouteContext } from '../../common/index.js';
7
7
  import { BaseRestController } from '../../rest/base.js';
8
- /** Base tier of a generated CRUD controller - repository handle plus shared response helpers; read and write verbs are layered on by ReadableCrudController / PersistableCrudController. */
8
+ /** Base tier of a generated CRUD controller - the repository handle; the response helpers (`respond`, `setListHeaders`) live on BaseRestController so hand-written controllers share them. Read and write verbs are layered on by ReadableCrudController / PersistableCrudController. */
9
9
  export declare abstract class AbstractCrudController<TEntity extends AbstractEntity<TAnyObjectSchema> = AbstractEntity<TAnyObjectSchema>, RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}, TDataObject extends object = TEntityDataObject<TEntity>, TPersistObject extends object = TEntityPersistObject<TEntity>> extends BaseRestController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions> {
10
10
  repository: AbstractRepository<TDataObject, TPersistObject>;
11
11
  constructor(opts: {
@@ -15,29 +15,6 @@ export declare abstract class AbstractCrudController<TEntity extends AbstractEnt
15
15
  repository: AbstractRepository<TDataObject, TPersistObject>;
16
16
  definitions: AnyType;
17
17
  });
18
- /** Returns the full `{ count, data }` envelope or just `data`, per the x-request-count header. */
19
- normalizeCountData<ResponseSchema extends AnyType, RequestContext extends TRouteContext<RouteEnv> = TRouteContext<RouteEnv>, ResponseData extends {
20
- count: number;
21
- data?: TNullable<ResponseSchema>;
22
- } = {
23
- count: number;
24
- data?: TNullable<ResponseSchema>;
25
- }>(opts: {
26
- context: RequestContext;
27
- responseData: ResponseData;
28
- }): TNullable<ResponseSchema> | ResponseData;
29
- /** Sets the response-format header, then normalizes count/data per the request-count header. */
30
- respond<R>(opts: {
31
- context: TRouteContext<RouteEnv>;
32
- format: 'object' | 'array';
33
- responseData: {
34
- count: number;
35
- data?: TNullable<R>;
36
- };
37
- }): TNullable<R> | {
38
- count: number;
39
- data?: TNullable<R>;
40
- };
41
18
  /** 400 when a bulk operation is missing its `where` filter; undefined when it is present. */
42
19
  bulkWhereError(opts: {
43
20
  context: TRouteContext<RouteEnv>;
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../../../src/base/controllers/factory/crud/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,4LAA4L;AAC5L,8BAAsB,sBAAsB,CAC1C,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,EACnF,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EACvD,cAAc,SAAS,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAC7D,SAAQ,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAChF,UAAU,EAAE,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAEhD,IAAI,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5D,WAAW,EAAE,OAAO,CAAC;KACtB;IAMD,kGAAkG;IAClG,kBAAkB,CAChB,cAAc,SAAS,OAAO,EAC9B,cAAc,SAAS,aAAa,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,EACxE,YAAY,SAAS;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;KAClC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;KAAE,EACvD,IAAI,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE;IAc/D,gGAAgG;IAChG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE;QACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC3B,YAAY,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;SAAE,CAAC;KACtD;eApBc,MAAM;;;IA4BrB,6FAA6F;IAC7F,cAAc,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAU1E"}
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../../../src/base/controllers/factory/crud/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,yRAAyR;AACzR,8BAAsB,sBAAsB,CAC1C,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,EACnF,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,WAAW,SAAS,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,EACvD,cAAc,SAAS,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAC7D,SAAQ,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAChF,UAAU,EAAE,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAEhD,IAAI,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5D,WAAW,EAAE,OAAO,CAAC;KACtB;IAMD,6FAA6F;IAC7F,cAAc,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAU1E"}
@@ -1,32 +1,12 @@
1
1
  import { HTTP } from '@venizia/ignis-helpers/common';
2
- import { toBoolean } from '@venizia/ignis-helpers/core';
3
2
  import { BaseRestController } from '../../rest/base.js';
4
- /** Base tier of a generated CRUD controller - repository handle plus shared response helpers; read and write verbs are layered on by ReadableCrudController / PersistableCrudController. */
3
+ /** Base tier of a generated CRUD controller - the repository handle; the response helpers (`respond`, `setListHeaders`) live on BaseRestController so hand-written controllers share them. Read and write verbs are layered on by ReadableCrudController / PersistableCrudController. */
5
4
  export class AbstractCrudController extends BaseRestController {
6
5
  constructor(opts) {
7
6
  super({ scope: opts.scope, path: opts.path, isStrict: opts.isStrict });
8
7
  this.repository = opts.repository;
9
8
  this.definitions = opts.definitions;
10
9
  }
11
- /** Returns the full `{ count, data }` envelope or just `data`, per the x-request-count header. */
12
- normalizeCountData(opts) {
13
- const { context, responseData } = opts;
14
- const requestCountData = context.req.header(HTTP.Headers.REQUEST_COUNT_DATA) ?? 'true';
15
- const useCountData = toBoolean(requestCountData);
16
- context.header(HTTP.Headers.RESPONSE_COUNT_DATA, responseData.count.toString());
17
- if (useCountData) {
18
- return responseData;
19
- }
20
- return responseData.data;
21
- }
22
- /** Sets the response-format header, then normalizes count/data per the request-count header. */
23
- respond(opts) {
24
- opts.context.header(HTTP.Headers.RESPONSE_FORMAT, opts.format);
25
- return this.normalizeCountData({
26
- context: opts.context,
27
- responseData: opts.responseData,
28
- });
29
- }
30
10
  /** 400 when a bulk operation is missing its `where` filter; undefined when it is present. */
31
11
  bulkWhereError(opts) {
32
12
  const { context, where } = opts;
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../../src/base/controllers/factory/crud/abstract.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,4LAA4L;AAC5L,MAAM,OAAgB,sBAQpB,SAAQ,kBAAwE;IAGhF,YAAY,IAMX;QACC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,kGAAkG;IAClG,kBAAkB,CAOhB,IAA6D;QAC7D,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;QACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC;QACvF,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAEjD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEhF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,gGAAgG;IAChG,OAAO,CAAI,IAIV;QACC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,kBAAkB,CAAI;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;IAED,6FAA6F;IAC7F,cAAc,CAAC,IAA0D;QACvE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC,IAAI,CACjB,EAAE,OAAO,EAAE,8CAA8C,EAAE,EAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CACjC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../../src/base/controllers/factory/crud/abstract.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,yRAAyR;AACzR,MAAM,OAAgB,sBAQpB,SAAQ,kBAAwE;IAGhF,YAAY,IAMX;QACC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,6FAA6F;IAC7F,cAAc,CAAC,IAA0D;QACvE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC,IAAI,CACjB,EAAE,OAAO,EAAE,8CAA8C,EAAE,EAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CACjC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}