@venizia/ignis 0.0.7 → 0.0.8-0

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 (196) hide show
  1. package/dist/base/applications/abstract.js +2 -2
  2. package/dist/base/applications/abstract.js.map +1 -1
  3. package/dist/base/applications/base.d.ts.map +1 -1
  4. package/dist/base/applications/base.js +56 -31
  5. package/dist/base/applications/base.js.map +1 -1
  6. package/dist/base/applications/types.d.ts +5 -2
  7. package/dist/base/applications/types.d.ts.map +1 -1
  8. package/dist/base/applications/types.js.map +1 -1
  9. package/dist/base/components/base.d.ts +1 -0
  10. package/dist/base/components/base.d.ts.map +1 -1
  11. package/dist/base/components/base.js +5 -0
  12. package/dist/base/components/base.js.map +1 -1
  13. package/dist/base/controllers/common/constants.d.ts +7 -0
  14. package/dist/base/controllers/common/constants.d.ts.map +1 -1
  15. package/dist/base/controllers/common/constants.js +8 -2
  16. package/dist/base/controllers/common/constants.js.map +1 -1
  17. package/dist/base/controllers/common/types.d.ts +2 -2
  18. package/dist/base/controllers/common/types.d.ts.map +1 -1
  19. package/dist/base/controllers/common/types.js.map +1 -1
  20. package/dist/base/controllers/factory/controller.d.ts +20 -6
  21. package/dist/base/controllers/factory/controller.d.ts.map +1 -1
  22. package/dist/base/controllers/factory/controller.js +15 -4
  23. package/dist/base/controllers/factory/controller.js.map +1 -1
  24. package/dist/base/controllers/grpc/abstract.d.ts +42 -0
  25. package/dist/base/controllers/grpc/abstract.d.ts.map +1 -0
  26. package/dist/base/controllers/grpc/abstract.js +110 -0
  27. package/dist/base/controllers/grpc/abstract.js.map +1 -0
  28. package/dist/base/controllers/grpc/adapter.d.ts +37 -0
  29. package/dist/base/controllers/grpc/adapter.d.ts.map +1 -0
  30. package/dist/base/controllers/grpc/adapter.js +152 -0
  31. package/dist/base/controllers/grpc/adapter.js.map +1 -0
  32. package/dist/base/controllers/grpc/base.d.ts +19 -0
  33. package/dist/base/controllers/grpc/base.d.ts.map +1 -0
  34. package/dist/base/controllers/grpc/base.js +43 -0
  35. package/dist/base/controllers/grpc/base.js.map +1 -0
  36. package/dist/base/controllers/grpc/common/index.d.ts +2 -0
  37. package/dist/base/controllers/grpc/common/index.d.ts.map +1 -0
  38. package/dist/base/controllers/grpc/common/index.js +18 -0
  39. package/dist/base/controllers/grpc/common/index.js.map +1 -0
  40. package/dist/base/controllers/grpc/common/types.d.ts +54 -0
  41. package/dist/base/controllers/grpc/common/types.d.ts.map +1 -0
  42. package/dist/base/controllers/grpc/common/types.js +3 -0
  43. package/dist/base/controllers/grpc/common/types.js.map +1 -0
  44. package/dist/base/controllers/grpc/index.d.ts +5 -0
  45. package/dist/base/controllers/grpc/index.d.ts.map +1 -0
  46. package/dist/base/controllers/grpc/index.js +21 -0
  47. package/dist/base/controllers/grpc/index.js.map +1 -0
  48. package/dist/base/controllers/index.d.ts +3 -3
  49. package/dist/base/controllers/index.d.ts.map +1 -1
  50. package/dist/base/controllers/index.js +3 -3
  51. package/dist/base/controllers/index.js.map +1 -1
  52. package/dist/base/controllers/{abstract.d.ts → rest/abstract.d.ts} +16 -6
  53. package/dist/base/controllers/rest/abstract.d.ts.map +1 -0
  54. package/dist/base/controllers/{abstract.js → rest/abstract.js} +32 -42
  55. package/dist/base/controllers/rest/abstract.js.map +1 -0
  56. package/dist/base/controllers/{base.d.ts → rest/base.d.ts} +4 -4
  57. package/dist/base/controllers/rest/base.d.ts.map +1 -0
  58. package/dist/base/controllers/{base.js → rest/base.js} +4 -4
  59. package/dist/base/controllers/rest/base.js.map +1 -0
  60. package/dist/base/controllers/rest/index.d.ts +3 -0
  61. package/dist/base/controllers/rest/index.d.ts.map +1 -0
  62. package/dist/base/controllers/rest/index.js +19 -0
  63. package/dist/base/controllers/rest/index.js.map +1 -0
  64. package/dist/base/metadata/index.d.ts +1 -1
  65. package/dist/base/metadata/index.d.ts.map +1 -1
  66. package/dist/base/metadata/index.js +1 -1
  67. package/dist/base/metadata/index.js.map +1 -1
  68. package/dist/base/metadata/routes/controller.d.ts +3 -0
  69. package/dist/base/metadata/routes/controller.d.ts.map +1 -0
  70. package/dist/base/metadata/routes/controller.js +11 -0
  71. package/dist/base/metadata/routes/controller.js.map +1 -0
  72. package/dist/base/metadata/routes/index.d.ts +4 -0
  73. package/dist/base/metadata/routes/index.d.ts.map +1 -0
  74. package/dist/base/metadata/routes/index.js +20 -0
  75. package/dist/base/metadata/routes/index.js.map +1 -0
  76. package/dist/base/metadata/{routes.d.ts → routes/rest.d.ts} +14 -16
  77. package/dist/base/metadata/routes/rest.d.ts.map +1 -0
  78. package/dist/base/metadata/{routes.js → routes/rest.js} +3 -9
  79. package/dist/base/metadata/routes/rest.js.map +1 -0
  80. package/dist/base/metadata/routes/rpc.d.ts +22 -0
  81. package/dist/base/metadata/routes/rpc.d.ts.map +1 -0
  82. package/dist/base/metadata/routes/rpc.js +45 -0
  83. package/dist/base/metadata/routes/rpc.js.map +1 -0
  84. package/dist/base/mixins/index.d.ts +0 -1
  85. package/dist/base/mixins/index.d.ts.map +1 -1
  86. package/dist/base/mixins/index.js +0 -1
  87. package/dist/base/mixins/index.js.map +1 -1
  88. package/dist/components/auth/authenticate/common/types.d.ts +2 -2
  89. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  90. package/dist/components/auth/authenticate/controllers/factory.d.ts +11 -1
  91. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  92. package/dist/components/auth/authenticate/controllers/factory.js +2 -2
  93. package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
  94. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +2 -2
  95. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +1 -1
  96. package/dist/components/auth/authenticate/controllers/jwks/controller.js +2 -2
  97. package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -1
  98. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts +2 -1
  99. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -1
  100. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -1
  101. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts +3 -2
  102. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
  103. package/dist/components/auth/authenticate/providers/authentication.provider.js +15 -10
  104. package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
  105. package/dist/components/controller/grpc/common/index.d.ts +2 -0
  106. package/dist/components/controller/grpc/common/index.d.ts.map +1 -0
  107. package/dist/components/controller/grpc/common/index.js +18 -0
  108. package/dist/components/controller/grpc/common/index.js.map +1 -0
  109. package/dist/components/controller/grpc/common/types.d.ts +7 -0
  110. package/dist/components/controller/grpc/common/types.d.ts.map +1 -0
  111. package/dist/components/controller/grpc/common/types.js +8 -0
  112. package/dist/components/controller/grpc/common/types.js.map +1 -0
  113. package/dist/components/controller/grpc/grpc.component.d.ts +8 -0
  114. package/dist/components/controller/grpc/grpc.component.d.ts.map +1 -0
  115. package/dist/components/controller/grpc/grpc.component.js +87 -0
  116. package/dist/components/controller/grpc/grpc.component.js.map +1 -0
  117. package/dist/components/controller/grpc/index.d.ts +3 -0
  118. package/dist/components/controller/grpc/index.d.ts.map +1 -0
  119. package/dist/components/controller/grpc/index.js +19 -0
  120. package/dist/components/controller/grpc/index.js.map +1 -0
  121. package/dist/components/controller/index.d.ts +2 -0
  122. package/dist/components/controller/index.d.ts.map +1 -0
  123. package/dist/components/controller/index.js +20 -0
  124. package/dist/components/controller/index.js.map +1 -0
  125. package/dist/components/controller/rest/common/index.d.ts +2 -0
  126. package/dist/components/controller/rest/common/index.d.ts.map +1 -0
  127. package/dist/components/controller/rest/common/index.js +18 -0
  128. package/dist/components/controller/rest/common/index.js.map +1 -0
  129. package/dist/components/controller/rest/common/types.d.ts +6 -0
  130. package/dist/components/controller/rest/common/types.d.ts.map +1 -0
  131. package/dist/components/controller/rest/common/types.js +8 -0
  132. package/dist/components/controller/rest/common/types.js.map +1 -0
  133. package/dist/components/controller/rest/index.d.ts +3 -0
  134. package/dist/components/controller/rest/index.d.ts.map +1 -0
  135. package/dist/components/controller/rest/index.js +19 -0
  136. package/dist/components/controller/rest/index.js.map +1 -0
  137. package/dist/components/controller/rest/rest.component.d.ts +8 -0
  138. package/dist/components/controller/rest/rest.component.d.ts.map +1 -0
  139. package/dist/components/controller/rest/rest.component.js +80 -0
  140. package/dist/components/controller/rest/rest.component.js.map +1 -0
  141. package/dist/components/health-check/controller.d.ts +2 -2
  142. package/dist/components/health-check/controller.d.ts.map +1 -1
  143. package/dist/components/health-check/controller.js +1 -1
  144. package/dist/components/health-check/controller.js.map +1 -1
  145. package/dist/components/index.d.ts +1 -2
  146. package/dist/components/index.d.ts.map +1 -1
  147. package/dist/components/index.js +6 -6
  148. package/dist/components/index.js.map +1 -1
  149. package/dist/components/static-asset/controller/factory.d.ts +12 -2
  150. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  151. package/dist/components/static-asset/controller/factory.js +5 -5
  152. package/dist/components/static-asset/controller/factory.js.map +1 -1
  153. package/dist/helpers/inversion/common/keys.d.ts +2 -1
  154. package/dist/helpers/inversion/common/keys.d.ts.map +1 -1
  155. package/dist/helpers/inversion/common/keys.js +2 -1
  156. package/dist/helpers/inversion/common/keys.js.map +1 -1
  157. package/dist/helpers/inversion/common/types.d.ts +25 -8
  158. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  159. package/dist/helpers/inversion/mixins/controllers/controller.d.ts +76 -0
  160. package/dist/helpers/inversion/mixins/controllers/controller.d.ts.map +1 -0
  161. package/dist/helpers/inversion/mixins/controllers/controller.js +34 -0
  162. package/dist/helpers/inversion/mixins/controllers/controller.js.map +1 -0
  163. package/dist/helpers/inversion/mixins/controllers/grpc.d.ts +82 -0
  164. package/dist/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -0
  165. package/dist/helpers/inversion/mixins/controllers/grpc.js +33 -0
  166. package/dist/helpers/inversion/mixins/controllers/grpc.js.map +1 -0
  167. package/dist/helpers/inversion/mixins/controllers/index.d.ts +4 -0
  168. package/dist/helpers/inversion/mixins/controllers/index.d.ts.map +1 -0
  169. package/dist/helpers/inversion/mixins/controllers/index.js +20 -0
  170. package/dist/helpers/inversion/mixins/controllers/index.js.map +1 -0
  171. package/dist/helpers/inversion/mixins/{controller.mixin.d.ts → controllers/rest.d.ts} +10 -25
  172. package/dist/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -0
  173. package/dist/helpers/inversion/mixins/controllers/rest.js +33 -0
  174. package/dist/helpers/inversion/mixins/controllers/rest.js.map +1 -0
  175. package/dist/helpers/inversion/mixins/index.d.ts +1 -1
  176. package/dist/helpers/inversion/mixins/index.d.ts.map +1 -1
  177. package/dist/helpers/inversion/mixins/index.js +1 -1
  178. package/dist/helpers/inversion/mixins/index.js.map +1 -1
  179. package/dist/helpers/inversion/registry.d.ts +146 -9
  180. package/dist/helpers/inversion/registry.d.ts.map +1 -1
  181. package/dist/helpers/inversion/registry.js +2 -1
  182. package/dist/helpers/inversion/registry.js.map +1 -1
  183. package/package.json +20 -3
  184. package/dist/base/controllers/abstract.d.ts.map +0 -1
  185. package/dist/base/controllers/abstract.js.map +0 -1
  186. package/dist/base/controllers/base.d.ts.map +0 -1
  187. package/dist/base/controllers/base.js.map +0 -1
  188. package/dist/base/metadata/routes.d.ts.map +0 -1
  189. package/dist/base/metadata/routes.js.map +0 -1
  190. package/dist/base/mixins/controller.mixin.d.ts +0 -89
  191. package/dist/base/mixins/controller.mixin.d.ts.map +0 -1
  192. package/dist/base/mixins/controller.mixin.js +0 -56
  193. package/dist/base/mixins/controller.mixin.js.map +0 -1
  194. package/dist/helpers/inversion/mixins/controller.mixin.d.ts.map +0 -1
  195. package/dist/helpers/inversion/mixins/controller.mixin.js +0 -50
  196. package/dist/helpers/inversion/mixins/controller.mixin.js.map +0 -1
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControllerMetadataMixin = void 0;
4
+ const constants_1 = require("../../../../base/controllers/common/constants");
5
+ const keys_1 = require("../../common/keys");
6
+ const ControllerMetadataMixin = (baseClass) => {
7
+ return class extends baseClass {
8
+ setControllerMetadata(opts) {
9
+ const { target, metadata } = opts;
10
+ const existing = this.getControllerMetadata({ target }) || {};
11
+ Reflect.defineMetadata(keys_1.MetadataKeys.CONTROLLER, Object.assign({}, existing, metadata), target);
12
+ }
13
+ getControllerMetadata(opts) {
14
+ const { target } = opts;
15
+ return Reflect.getMetadata(keys_1.MetadataKeys.CONTROLLER, target);
16
+ }
17
+ getRestControllerMetadata(opts) {
18
+ const metadata = this.getControllerMetadata(opts);
19
+ if (!metadata || metadata.transport === constants_1.ControllerTransports.GRPC) {
20
+ return undefined;
21
+ }
22
+ return metadata;
23
+ }
24
+ getGrpcControllerMetadata(opts) {
25
+ const metadata = this.getControllerMetadata(opts);
26
+ if (metadata?.transport !== constants_1.ControllerTransports.GRPC) {
27
+ return undefined;
28
+ }
29
+ return metadata;
30
+ }
31
+ };
32
+ };
33
+ exports.ControllerMetadataMixin = ControllerMetadataMixin;
34
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/controller.ts"],"names":[],"mappings":";;;AAAA,mEAA2E;AAG3E,4CAAiD;AAO1C,MAAM,uBAAuB,GAAG,CACrC,SAAoB,EACpB,EAAE;IACF,OAAO,KAAM,SAAQ,SAAS;QAC5B,qBAAqB,CAAiC,IAGrD;YACC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAC9D,OAAO,CAAC,cAAc,CACpB,mBAAY,CAAC,UAAU,EACvB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACrC,MAAM,CACP,CAAC;QACJ,CAAC;QAED,qBAAqB,CAAiC,IAErD;YACC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QAED,yBAAyB,CAAiC,IAEzD;YACC,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,gCAAoB,CAAC,IAAI,EAAE,CAAC;gBAClE,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,QAAmC,CAAC;QAC7C,CAAC;QAED,yBAAyB,CAAiC,IAEzD;YACC,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,QAAQ,EAAE,SAAS,KAAK,gCAAoB,CAAC,IAAI,EAAE,CAAC;gBACtD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,QAAmC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,uBAAuB,2BA4ClC"}
@@ -0,0 +1,82 @@
1
+ import { TMixinTarget } from '@venizia/ignis-helpers';
2
+ import { MetadataRegistry as _MetadataRegistry } from '@venizia/ignis-inversion';
3
+ import { IRpcMetadata } from '../../common/types';
4
+ export declare const GrpcControllerMetadataMixin: <BaseClass extends TMixinTarget<_MetadataRegistry>>(baseClass: BaseClass) => {
5
+ new (...args: any[]): {
6
+ /** Store RPC method metadata on a controller prototype. */
7
+ addRpc<Target extends object = object>(opts: {
8
+ target: Target;
9
+ methodName: string | symbol;
10
+ configs: IRpcMetadata;
11
+ }): void;
12
+ /** Get all RPC methods from a controller class prototype. */
13
+ getRpcs<Target extends object = object>(opts: {
14
+ target: Target;
15
+ }): Map<string | symbol, IRpcMetadata> | undefined;
16
+ /** Get a specific RPC method by name. */
17
+ getRpc<Target extends object = object>(opts: {
18
+ target: Target;
19
+ methodName: string | symbol;
20
+ }): IRpcMetadata | undefined;
21
+ /** Check if a class has any RPC methods defined. */
22
+ hasRpcs<Target extends object = object>(opts: {
23
+ target: Target;
24
+ }): boolean;
25
+ define: <Target extends object = object, Value = any>(opts: {
26
+ target: Target;
27
+ key: string | symbol;
28
+ value: Value;
29
+ }) => void;
30
+ get: <Target extends object = object, Value_1 = any>(opts: {
31
+ target: Target;
32
+ key: string | symbol;
33
+ }) => Value_1 | undefined;
34
+ has: <Target extends object = object>(opts: {
35
+ target: Target;
36
+ key: string | symbol;
37
+ }) => boolean;
38
+ delete: <Target extends object = object>(opts: {
39
+ target: Target;
40
+ key: string | symbol;
41
+ }) => boolean;
42
+ getKeys: <Target extends object = object>(opts: {
43
+ target: Target;
44
+ }) => (string | symbol)[];
45
+ getMethodNames: <T = any>(opts: {
46
+ target: import("@venizia/ignis-inversion").TClass<T>;
47
+ }) => string[];
48
+ clearMetadata: <T extends object = object>(opts: {
49
+ target: T;
50
+ }) => void;
51
+ setPropertyMetadata: <T extends object = object>(opts: {
52
+ target: T;
53
+ propertyName: string | symbol;
54
+ metadata: import("@venizia/ignis-inversion").IPropertyMetadata;
55
+ }) => void;
56
+ getPropertiesMetadata: <T extends object = object>(opts: {
57
+ target: T;
58
+ }) => Map<string | symbol, import("@venizia/ignis-inversion").IPropertyMetadata> | undefined;
59
+ getPropertyMetadata: <T extends object = object>(opts: {
60
+ target: T;
61
+ propertyName: string | symbol;
62
+ }) => import("@venizia/ignis-inversion").IPropertyMetadata | undefined;
63
+ setInjectMetadata: <T extends object = object>(opts: {
64
+ target: T;
65
+ index: number;
66
+ metadata: import("@venizia/ignis-inversion").IInjectMetadata;
67
+ }) => void;
68
+ getInjectMetadata: <T extends object = object>(opts: {
69
+ target: T;
70
+ }) => import("@venizia/ignis-inversion").IInjectMetadata[] | undefined;
71
+ setInjectableMetadata: <T extends object = object>(opts: {
72
+ target: T;
73
+ metadata: import("@venizia/ignis-inversion").IInjectableMetadata;
74
+ }) => void;
75
+ getInjectableMetadata: <T extends object = object>(opts: {
76
+ target: T;
77
+ }) => import("@venizia/ignis-inversion").IInjectableMetadata | undefined;
78
+ scope: string;
79
+ identifier: string;
80
+ };
81
+ } & BaseClass;
82
+ //# sourceMappingURL=grpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/grpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,eAAO,MAAM,2BAA2B,GAAI,SAAS,SAAS,YAAY,CAAC,iBAAiB,CAAC,EAC3F,WAAW,SAAS;;QAGlB,2DAA2D;eACpD,MAAM,SAAS,MAAM,iBAAiB;YAC3C,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;YAC5B,OAAO,EAAE,YAAY,CAAC;SACvB,GAAG,IAAI;QAOR,6DAA6D;gBACrD,MAAM,SAAS,MAAM,iBAAiB;YAC5C,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS;QAKlD,yCAAyC;eAClC,MAAM,SAAS,MAAM,iBAAiB;YAC3C,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;SAC7B,GAAG,YAAY,GAAG,SAAS;QAM5B,oDAAoD;gBAC5C,MAAM,SAAS,MAAM,iBAAiB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAK7E,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrpcControllerMetadataMixin = void 0;
4
+ const keys_1 = require("../../common/keys");
5
+ const GrpcControllerMetadataMixin = (baseClass) => {
6
+ return class extends baseClass {
7
+ /** Store RPC method metadata on a controller prototype. */
8
+ addRpc(opts) {
9
+ const { target, methodName, configs } = opts;
10
+ const rpcs = this.getRpcs({ target }) || new Map();
11
+ rpcs.set(methodName, configs);
12
+ Reflect.defineMetadata(keys_1.MetadataKeys.CONTROLLER_GRPC_ROUTE, rpcs, target);
13
+ }
14
+ /** Get all RPC methods from a controller class prototype. */
15
+ getRpcs(opts) {
16
+ const { target } = opts;
17
+ return Reflect.getMetadata(keys_1.MetadataKeys.CONTROLLER_GRPC_ROUTE, target);
18
+ }
19
+ /** Get a specific RPC method by name. */
20
+ getRpc(opts) {
21
+ const { target, methodName } = opts;
22
+ const rpcs = this.getRpcs({ target });
23
+ return rpcs?.get(methodName);
24
+ }
25
+ /** Check if a class has any RPC methods defined. */
26
+ hasRpcs(opts) {
27
+ const rpcs = this.getRpcs(opts);
28
+ return rpcs !== undefined && rpcs.size > 0;
29
+ }
30
+ };
31
+ };
32
+ exports.GrpcControllerMetadataMixin = GrpcControllerMetadataMixin;
33
+ //# sourceMappingURL=grpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/grpc.ts"],"names":[],"mappings":";;;AAEA,4CAAiD;AAG1C,MAAM,2BAA2B,GAAG,CACzC,SAAoB,EACpB,EAAE;IACF,OAAO,KAAM,SAAQ,SAAS;QAC5B,2DAA2D;QAC3D,MAAM,CAAiC,IAItC;YACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,mBAAY,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;QAED,6DAA6D;QAC7D,OAAO,CAAiC,IAEvC;YACC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAY,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;QAED,yCAAyC;QACzC,MAAM,CAAiC,IAGtC;YACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;QAED,oDAAoD;QACpD,OAAO,CAAiC,IAAwB;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,2BAA2B,+BAwCtC"}
@@ -0,0 +1,4 @@
1
+ export * from './controller';
2
+ export * from './grpc';
3
+ export * from './rest';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./controller"), exports);
18
+ __exportStar(require("./grpc"), exports);
19
+ __exportStar(require("./rest"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB"}
@@ -1,41 +1,26 @@
1
+ import { IAuthRouteConfig } from '../../../../base/controllers/common/types';
1
2
  import { TMixinTarget } from '@venizia/ignis-helpers';
2
3
  import { MetadataRegistry as _MetadataRegistry } from '@venizia/ignis-inversion';
3
- import { IControllerMetadata, TRouteMetadata } from '../common/types';
4
- export declare const ControllerMetadataMixin: <BaseClass extends TMixinTarget<_MetadataRegistry>>(baseClass: BaseClass) => {
4
+ export declare const RestControllerMetadataMixin: <BaseClass extends TMixinTarget<_MetadataRegistry>>(baseClass: BaseClass) => {
5
5
  new (...args: any[]): {
6
- setControllerMetadata<Target extends object = object>(opts: {
7
- target: Target;
8
- metadata: IControllerMetadata;
9
- }): void;
10
- getControllerMetadata<Target extends object = object>(opts: {
11
- target: Target;
12
- }): IControllerMetadata | undefined;
13
- /**
14
- * Get all routes from a controller class
15
- */
6
+ /** Get all routes from a controller class. */
16
7
  getRoutes<Target extends object = object>(opts: {
17
8
  target: Target;
18
- }): Map<string | symbol, TRouteMetadata> | undefined;
19
- /**
20
- * Get a specific route by method name
21
- */
9
+ }): Map<string | symbol, IAuthRouteConfig> | undefined;
10
+ /** Get a specific route by method name. */
22
11
  getRoute<Target extends object = object>(opts: {
23
12
  target: Target;
24
13
  methodName: string | symbol;
25
- }): TRouteMetadata | undefined;
26
- /**
27
- * Check if a class has any routes defined
28
- */
14
+ }): IAuthRouteConfig | undefined;
15
+ /** Check if a class has any routes defined. */
29
16
  hasRoutes<Target extends object = object>(opts: {
30
17
  target: Target;
31
18
  }): boolean;
32
- /**
33
- * Add a route to a controller class
34
- */
19
+ /** Add a route to a controller class. */
35
20
  addRoute<Target extends object = object>(opts: {
36
21
  target: Target;
37
22
  methodName: string | symbol;
38
- configs: TRouteMetadata;
23
+ configs: IAuthRouteConfig;
39
24
  }): void;
40
25
  define: <Target extends object = object, Value = any>(opts: {
41
26
  target: Target;
@@ -94,4 +79,4 @@ export declare const ControllerMetadataMixin: <BaseClass extends TMixinTarget<_M
94
79
  identifier: string;
95
80
  };
96
81
  } & BaseClass;
97
- //# sourceMappingURL=controller.mixin.d.ts.map
82
+ //# sourceMappingURL=rest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGjF,eAAO,MAAM,2BAA2B,GAAI,SAAS,SAAS,YAAY,CAAC,iBAAiB,CAAC,EAC3F,WAAW,SAAS;;QAGlB,8CAA8C;kBACpC,MAAM,SAAS,MAAM,iBAAiB;YAC9C,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS;QAKtD,2CAA2C;iBAClC,MAAM,SAAS,MAAM,iBAAiB;YAC7C,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;SAC7B,GAAG,gBAAgB,GAAG,SAAS;QAMhC,+CAA+C;kBACrC,MAAM,SAAS,MAAM,iBAAiB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO;QAK5E,yCAAyC;iBAChC,MAAM,SAAS,MAAM,iBAAiB;YAC7C,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;YAC5B,OAAO,EAAE,gBAAgB,CAAC;SAC3B,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aASX,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RestControllerMetadataMixin = void 0;
4
+ const keys_1 = require("../../common/keys");
5
+ const RestControllerMetadataMixin = (baseClass) => {
6
+ return class extends baseClass {
7
+ /** Get all routes from a controller class. */
8
+ getRoutes(opts) {
9
+ const { target } = opts;
10
+ return Reflect.getMetadata(keys_1.MetadataKeys.CONTROLLER_REST_ROUTE, target);
11
+ }
12
+ /** Get a specific route by method name. */
13
+ getRoute(opts) {
14
+ const { target, methodName } = opts;
15
+ const routes = this.getRoutes({ target });
16
+ return routes?.get(methodName);
17
+ }
18
+ /** Check if a class has any routes defined. */
19
+ hasRoutes(opts) {
20
+ const routes = this.getRoutes(opts);
21
+ return routes !== undefined && routes.size > 0;
22
+ }
23
+ /** Add a route to a controller class. */
24
+ addRoute(opts) {
25
+ const { target, methodName, configs } = opts;
26
+ const routes = this.getRoutes({ target }) || new Map();
27
+ routes.set(methodName, configs);
28
+ Reflect.defineMetadata(keys_1.MetadataKeys.CONTROLLER_REST_ROUTE, routes, target);
29
+ }
30
+ };
31
+ };
32
+ exports.RestControllerMetadataMixin = RestControllerMetadataMixin;
33
+ //# sourceMappingURL=rest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/controllers/rest.ts"],"names":[],"mappings":";;;AAGA,4CAAiD;AAE1C,MAAM,2BAA2B,GAAG,CACzC,SAAoB,EACpB,EAAE;IACF,OAAO,KAAM,SAAQ,SAAS;QAC5B,8CAA8C;QAC9C,SAAS,CAAiC,IAEzC;YACC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,OAAO,OAAO,CAAC,WAAW,CAAC,mBAAY,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACzE,CAAC;QAED,2CAA2C;QAC3C,QAAQ,CAAiC,IAGxC;YACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,OAAO,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,+CAA+C;QAC/C,SAAS,CAAiC,IAAwB;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,yCAAyC;QACzC,QAAQ,CAAiC,IAIxC;YACC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEhC,OAAO,CAAC,cAAc,CAAC,mBAAY,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA1CW,QAAA,2BAA2B,+BA0CtC"}
@@ -1,4 +1,4 @@
1
- export * from './controller.mixin';
1
+ export * from './controllers';
2
2
  export * from './datasource.mixin';
3
3
  export * from './model.mixin';
4
4
  export * from './repository.mixin';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/mixins/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/mixins/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./controller.mixin"), exports);
17
+ __exportStar(require("./controllers"), exports);
18
18
  __exportStar(require("./datasource.mixin"), exports);
19
19
  __exportStar(require("./model.mixin"), exports);
20
20
  __exportStar(require("./repository.mixin"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/inversion/mixins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,gDAA8B;AAC9B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/inversion/mixins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,qDAAmC;AACnC,gDAA8B;AAC9B,qDAAmC"}
@@ -1,28 +1,94 @@
1
1
  import { MetadataRegistry as _MetadataRegistry } from '@venizia/ignis-inversion';
2
2
  import { IModelRegistryEntry, IRepositoryBinding } from './common/types';
3
- declare const MetadataRegistry_base: {
3
+ declare const _BaseRegistry: {
4
4
  new (...args: any[]): {
5
- setControllerMetadata<Target extends object = object>(opts: {
5
+ addRpc<Target extends object = object>(opts: {
6
6
  target: Target;
7
- metadata: import("./common/types").IControllerMetadata;
7
+ methodName: string | symbol;
8
+ configs: import("./common/types").IRpcMetadata;
8
9
  }): void;
9
- getControllerMetadata<Target extends object = object>(opts: {
10
+ getRpcs<Target extends object = object>(opts: {
11
+ target: Target;
12
+ }): Map<string | symbol, import("./common/types").IRpcMetadata> | undefined;
13
+ getRpc<Target extends object = object>(opts: {
14
+ target: Target;
15
+ methodName: string | symbol;
16
+ }): import("./common/types").IRpcMetadata | undefined;
17
+ hasRpcs<Target extends object = object>(opts: {
18
+ target: Target;
19
+ }): boolean;
20
+ define: <Target extends object = object, Value = any>(opts: {
10
21
  target: Target;
11
- }): import("./common/types").IControllerMetadata | undefined;
22
+ key: string | symbol;
23
+ value: Value;
24
+ }) => void;
25
+ get: <Target extends object = object, Value = any>(opts: {
26
+ target: Target;
27
+ key: string | symbol;
28
+ }) => Value | undefined;
29
+ has: <Target extends object = object>(opts: {
30
+ target: Target;
31
+ key: string | symbol;
32
+ }) => boolean;
33
+ delete: <Target extends object = object>(opts: {
34
+ target: Target;
35
+ key: string | symbol;
36
+ }) => boolean;
37
+ getKeys: <Target extends object = object>(opts: {
38
+ target: Target;
39
+ }) => (string | symbol)[];
40
+ getMethodNames: <T = any>(opts: {
41
+ target: import("@venizia/ignis-inversion").TClass<T>;
42
+ }) => string[];
43
+ clearMetadata: <T extends object = object>(opts: {
44
+ target: T;
45
+ }) => void;
46
+ setPropertyMetadata: <T extends object = object>(opts: {
47
+ target: T;
48
+ propertyName: string | symbol;
49
+ metadata: import("@venizia/ignis-inversion").IPropertyMetadata;
50
+ }) => void;
51
+ getPropertiesMetadata: <T extends object = object>(opts: {
52
+ target: T;
53
+ }) => Map<string | symbol, import("@venizia/ignis-inversion").IPropertyMetadata> | undefined;
54
+ getPropertyMetadata: <T extends object = object>(opts: {
55
+ target: T;
56
+ propertyName: string | symbol;
57
+ }) => import("@venizia/ignis-inversion").IPropertyMetadata | undefined;
58
+ setInjectMetadata: <T extends object = object>(opts: {
59
+ target: T;
60
+ index: number;
61
+ metadata: import("@venizia/ignis-inversion").IInjectMetadata;
62
+ }) => void;
63
+ getInjectMetadata: <T extends object = object>(opts: {
64
+ target: T;
65
+ }) => import("@venizia/ignis-inversion").IInjectMetadata[] | undefined;
66
+ setInjectableMetadata: <T extends object = object>(opts: {
67
+ target: T;
68
+ metadata: import("@venizia/ignis-inversion").IInjectableMetadata;
69
+ }) => void;
70
+ getInjectableMetadata: <T extends object = object>(opts: {
71
+ target: T;
72
+ }) => import("@venizia/ignis-inversion").IInjectableMetadata | undefined;
73
+ scope: string;
74
+ identifier: string;
75
+ };
76
+ } & {
77
+ new (...args: any[]): {
12
78
  getRoutes<Target extends object = object>(opts: {
13
79
  target: Target;
14
- }): Map<string | symbol, import("./common/types").TRouteMetadata> | undefined;
80
+ }): Map<string | symbol, import("../..").IAuthRouteConfig> | undefined;
15
81
  getRoute<Target extends object = object>(opts: {
16
82
  target: Target;
17
83
  methodName: string | symbol;
18
- }): import("./common/types").TRouteMetadata | undefined;
84
+ }): import("../..").IAuthRouteConfig | undefined;
19
85
  hasRoutes<Target extends object = object>(opts: {
20
86
  target: Target;
21
87
  }): boolean;
22
88
  addRoute<Target extends object = object>(opts: {
23
89
  target: Target;
24
90
  methodName: string | symbol;
25
- configs: import("./common/types").TRouteMetadata;
91
+ configs: import("../..").IAuthRouteConfig;
26
92
  }): void;
27
93
  define: <Target extends object = object, Value = any>(opts: {
28
94
  target: Target;
@@ -80,6 +146,77 @@ declare const MetadataRegistry_base: {
80
146
  scope: string;
81
147
  identifier: string;
82
148
  };
149
+ } & {
150
+ new (...args: any[]): {
151
+ setControllerMetadata<Target extends object = object>(opts: {
152
+ target: Target;
153
+ metadata: import("./common/types").TControllerMetadata;
154
+ }): void;
155
+ getControllerMetadata<Target extends object = object>(opts: {
156
+ target: Target;
157
+ }): import("./common/types").TControllerMetadata | undefined;
158
+ getRestControllerMetadata<Target extends object = object>(opts: {
159
+ target: Target;
160
+ }): import("./common/types").IRestControllerMetadata | undefined;
161
+ getGrpcControllerMetadata<Target extends object = object>(opts: {
162
+ target: Target;
163
+ }): import("./common/types").IGrpcControllerMetadata | undefined;
164
+ define: <Target extends object = object, Value = any>(opts: {
165
+ target: Target;
166
+ key: string | symbol;
167
+ value: Value;
168
+ }) => void;
169
+ get: <Target extends object = object, Value = any>(opts: {
170
+ target: Target;
171
+ key: string | symbol;
172
+ }) => Value | undefined;
173
+ has: <Target extends object = object>(opts: {
174
+ target: Target;
175
+ key: string | symbol;
176
+ }) => boolean;
177
+ delete: <Target extends object = object>(opts: {
178
+ target: Target;
179
+ key: string | symbol;
180
+ }) => boolean;
181
+ getKeys: <Target extends object = object>(opts: {
182
+ target: Target;
183
+ }) => (string | symbol)[];
184
+ getMethodNames: <T = any>(opts: {
185
+ target: import("@venizia/ignis-inversion").TClass<T>;
186
+ }) => string[];
187
+ clearMetadata: <T extends object = object>(opts: {
188
+ target: T;
189
+ }) => void;
190
+ setPropertyMetadata: <T extends object = object>(opts: {
191
+ target: T;
192
+ propertyName: string | symbol;
193
+ metadata: import("@venizia/ignis-inversion").IPropertyMetadata;
194
+ }) => void;
195
+ getPropertiesMetadata: <T extends object = object>(opts: {
196
+ target: T;
197
+ }) => Map<string | symbol, import("@venizia/ignis-inversion").IPropertyMetadata> | undefined;
198
+ getPropertyMetadata: <T extends object = object>(opts: {
199
+ target: T;
200
+ propertyName: string | symbol;
201
+ }) => import("@venizia/ignis-inversion").IPropertyMetadata | undefined;
202
+ setInjectMetadata: <T extends object = object>(opts: {
203
+ target: T;
204
+ index: number;
205
+ metadata: import("@venizia/ignis-inversion").IInjectMetadata;
206
+ }) => void;
207
+ getInjectMetadata: <T extends object = object>(opts: {
208
+ target: T;
209
+ }) => import("@venizia/ignis-inversion").IInjectMetadata[] | undefined;
210
+ setInjectableMetadata: <T extends object = object>(opts: {
211
+ target: T;
212
+ metadata: import("@venizia/ignis-inversion").IInjectableMetadata;
213
+ }) => void;
214
+ getInjectableMetadata: <T extends object = object>(opts: {
215
+ target: T;
216
+ }) => import("@venizia/ignis-inversion").IInjectableMetadata | undefined;
217
+ scope: string;
218
+ identifier: string;
219
+ };
83
220
  } & {
84
221
  new (...args: any[]): {
85
222
  repositoryBindings: Map<string, IRepositoryBinding>;
@@ -338,7 +475,7 @@ declare const MetadataRegistry_base: {
338
475
  * Central metadata registry for storing and retrieving decorator metadata.
339
476
  * Enhanced with model registry, repository bindings, and auto-discovery capabilities.
340
477
  */
341
- export declare class MetadataRegistry extends MetadataRegistry_base {
478
+ export declare class MetadataRegistry extends _BaseRegistry {
342
479
  private static instance;
343
480
  private constructor();
344
481
  static getInstance(): MetadataRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQzE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAErC;IACC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAE1C,OAAO;IAUP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC,QAAQ,IAAI,IAAI;CAKjB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAUzE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAMlB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAE1C,OAAO;IAUP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC,QAAQ,IAAI,IAAI;CAKjB"}
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetadataRegistry = void 0;
4
4
  const ignis_inversion_1 = require("@venizia/ignis-inversion");
5
5
  const mixins_1 = require("./mixins");
6
+ const _BaseRegistry = (0, mixins_1.GrpcControllerMetadataMixin)((0, mixins_1.RestControllerMetadataMixin)((0, mixins_1.ControllerMetadataMixin)((0, mixins_1.RepositoryMetadataMixin)((0, mixins_1.ModelMetadataMixin)((0, mixins_1.DatasourceMetadataMixin)(ignis_inversion_1.MetadataRegistry))))));
6
7
  /**
7
8
 
8
9
  * Central metadata registry for storing and retrieving decorator metadata.
9
10
  * Enhanced with model registry, repository bindings, and auto-discovery capabilities.
10
11
  */
11
- class MetadataRegistry extends (0, mixins_1.ControllerMetadataMixin)((0, mixins_1.RepositoryMetadataMixin)((0, mixins_1.ModelMetadataMixin)((0, mixins_1.DatasourceMetadataMixin)(ignis_inversion_1.MetadataRegistry)))) {
12
+ class MetadataRegistry extends _BaseRegistry {
12
13
  constructor() {
13
14
  super();
14
15
  this.modelRegistry = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":";;;AAAA,8DAAiF;AAEjF,qCAKkB;AAElB;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,IAAA,gCAAuB,EAC3D,IAAA,gCAAuB,EAAC,IAAA,2BAAkB,EAAC,IAAA,gCAAuB,EAAC,kCAAiB,CAAC,CAAC,CAAC,CACxF;IAGC;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAGzB,CAAC;QACJ,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AA3BD,4CA2BC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":";;;AAAA,8DAAiF;AAEjF,qCAOkB;AAElB,MAAM,aAAa,GAAG,IAAA,oCAA2B,EAC/C,IAAA,oCAA2B,EACzB,IAAA,gCAAuB,EACrB,IAAA,gCAAuB,EAAC,IAAA,2BAAkB,EAAC,IAAA,gCAAuB,EAAC,kCAAiB,CAAC,CAAC,CAAC,CACxF,CACF,CACF,CAAC;AAEF;;;;GAIG;AACH,MAAa,gBAAiB,SAAQ,aAAa;IAGjD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAGzB,CAAC;QACJ,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AAzBD,4CAyBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis",
3
- "version": "0.0.7",
3
+ "version": "0.0.8-0",
4
4
  "description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
5
5
  "keywords": [
6
6
  "access-control",
@@ -105,6 +105,18 @@
105
105
  "types": "./dist/components/mail/index.d.ts",
106
106
  "default": "./dist/components/mail/index.js"
107
107
  },
108
+ "./grpc": {
109
+ "types": "./dist/components/grpc/index.d.ts",
110
+ "default": "./dist/components/grpc/index.js"
111
+ },
112
+ "./static-asset": {
113
+ "types": "./dist/components/static-asset/index.d.ts",
114
+ "default": "./dist/components/static-asset/index.js"
115
+ },
116
+ "./websocket": {
117
+ "types": "./dist/components/websocket/index.d.ts",
118
+ "default": "./dist/components/websocket/index.js"
119
+ },
108
120
  "./package.json": "./package.json"
109
121
  },
110
122
  "files": [
@@ -133,14 +145,15 @@
133
145
  "prepublishOnly": "bun run rebuild"
134
146
  },
135
147
  "dependencies": {
136
- "@venizia/ignis-boot": "^0.0.4",
137
- "@venizia/ignis-helpers": "^0.0.7",
148
+ "@venizia/ignis-boot": "^0.0.5-0",
149
+ "@venizia/ignis-helpers": "^0.0.8-0",
138
150
  "@venizia/ignis-inversion": "^0.0.5",
139
151
  "lodash": "^4.17.23",
140
152
  "reflect-metadata": "^0.2.2"
141
153
  },
142
154
  "peerDependencies": {
143
155
  "@asteasolutions/zod-to-openapi": "^8.4.1",
156
+ "@connectrpc/connect": "^2.1.1",
144
157
  "@hono/node-server": "^1.19.8",
145
158
  "@hono/swagger-ui": "^0.5.2",
146
159
  "@hono/zod-openapi": "^1.2.2",
@@ -161,6 +174,9 @@
161
174
  "socket.io-client": "^4.8.1"
162
175
  },
163
176
  "peerDependenciesMeta": {
177
+ "@connectrpc/connect": {
178
+ "optional": true
179
+ },
164
180
  "@hono/node-server": {
165
181
  "optional": true
166
182
  },
@@ -203,6 +219,7 @@
203
219
  },
204
220
  "devDependencies": {
205
221
  "@asteasolutions/zod-to-openapi": "^8.4.1",
222
+ "@connectrpc/connect": "^2.1.1",
206
223
  "@hono/node-server": "^1.19.8",
207
224
  "@hono/swagger-ui": "^0.5.2",
208
225
  "@socket.io/bun-engine": "^0.1.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/abstract.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAY,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACd,MAAM,gBAAgB,CAAC;AACxB,6GAA6G;AAC7G,8BAAsB,kBAAkB,CACtC,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,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAEvF,SAAQ,UACR,YAAW,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;IAE5E,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,iFAAiF;IACjF,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,kBAAkB;IA4BpC,mEAAmE;IACnE,SAAS;IAIT,8FAA8F;IAC9F,0BAA0B,IAAI,IAAI;IAiBlC,8FAA8F;IACxF,SAAS,CACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAcxD,oFAAoF;IACpF,eAAe,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;IA8CpF,4EAA4E;IAC5E,kBAAkB,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;IA6CvF,kEAAkE;IAClE,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAExC,uFAAuF;IACvF,QAAQ,CAAC,SAAS,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAC7D,OAAO,EAAE,WAAW,CAAC;KACtB,GAAG,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IAEnE,uEAAuE;IACvE,QAAQ,CAAC,WAAW,CAAC,WAAW,SAAS,gBAAgB,EAAE,YAAY,GAAG,OAAO,EAAE,IAAI,EAAE;QACvF,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;KACzD,GAAG,mBAAmB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;CACtE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../src/base/controllers/abstract.ts"],"names":[],"mappings":"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"}