@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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/base/controllers/grpc/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -0,0 +1,54 @@
1
+ import { TRouteContext } from '../../../../base/controllers/common/types';
2
+ import { IRpcMetadata } from '../../../../helpers/inversion/common/types';
3
+ import { IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers';
4
+ import type { Env, Hono, Input, MiddlewareHandler, Next, Schema } from 'hono';
5
+ /** Configuration options for gRPC controller instantiation. */
6
+ export interface IGrpcControllerOptions {
7
+ scope: string;
8
+ /** Falls back to @controller decorator path if not provided. */
9
+ path?: string;
10
+ }
11
+ /** Typed handler signature for gRPC RPC methods. */
12
+ export type TRpcHandler<RequestType = unknown, ResponseType = unknown, RouteEnv extends Env = Env> = (opts: {
13
+ request: RequestType;
14
+ context: TRouteContext<RouteEnv>;
15
+ }) => ValueOrPromise<ResponseType>;
16
+ /** Pre-built middleware function for gRPC auth enforcement. */
17
+ export type TRpcMiddleware<RouteEnv extends Env = Env> = (context: TRouteContext<RouteEnv>, next: Next) => ValueOrPromise<void | Response>;
18
+ /** Unified registration entry: metadata + handler + pre-built middlewares stored together. */
19
+ export interface IRpcRegistration<RouteEnv extends Env = Env> {
20
+ configs: IRpcMetadata;
21
+ handler: TRpcHandler<unknown, unknown, RouteEnv>;
22
+ middlewares: TRpcMiddleware<RouteEnv>[];
23
+ }
24
+ /** Return type from defineRoute — contains processed configs. */
25
+ export interface IGrpcDefineRouteOptions {
26
+ configs: IRpcMetadata;
27
+ }
28
+ /** Fluent binding for two-step RPC registration: bindRoute({ configs }).to({ handler }). */
29
+ export interface IGrpcBindRouteOptions<RouteEnv extends Env = Env> {
30
+ configs: IRpcMetadata;
31
+ to: (opts: {
32
+ handler: TRpcHandler<unknown, unknown, RouteEnv>;
33
+ }) => IGrpcDefineRouteOptions;
34
+ }
35
+ /** gRPC controller interface defining RPC registration and configuration contract. */
36
+ export interface IGrpcController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ServiceType = unknown, ConfigurableOptions extends object = {}> extends IConfigurable<ConfigurableOptions> {
37
+ service: ServiceType;
38
+ router: Hono<RouteEnv, RouteSchema, BasePath>;
39
+ definitions: Record<string, IRpcRegistration<RouteEnv>>;
40
+ getRouter(): Hono<RouteEnv, RouteSchema, BasePath>;
41
+ bindRoute(opts: {
42
+ configs: IRpcMetadata;
43
+ }): IGrpcBindRouteOptions<RouteEnv>;
44
+ defineRoute(opts: {
45
+ configs: IRpcMetadata;
46
+ handler: TRpcHandler<unknown, unknown, RouteEnv>;
47
+ }): IGrpcDefineRouteOptions;
48
+ }
49
+ /** Result from GrpcRequestAdapter.build(). */
50
+ export interface IConnectAdapterResult<RouteEnv extends Env = Env, BasePath extends string = '/', RouteInput extends Input = {}> {
51
+ paths: string[];
52
+ middleware: MiddlewareHandler<RouteEnv, BasePath, RouteInput>;
53
+ }
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/grpc/common/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/base/controllers/grpc/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './abstract';
2
+ export * from './adapter';
3
+ export * from './base';
4
+ export * from './common';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,21 @@
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("./abstract"), exports);
18
+ __exportStar(require("./adapter"), exports);
19
+ __exportStar(require("./base"), exports);
20
+ __exportStar(require("./common"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB"}
@@ -1,5 +1,5 @@
1
- export * from './abstract';
2
- export * from './base';
3
- export * from './factory';
4
1
  export * from './common';
2
+ export * from './factory';
3
+ export * from './grpc';
4
+ export * from './rest';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
@@ -14,8 +14,8 @@ 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("./abstract"), exports);
18
- __exportStar(require("./base"), exports);
19
- __exportStar(require("./factory"), exports);
20
17
  __exportStar(require("./common"), exports);
18
+ __exportStar(require("./factory"), exports);
19
+ __exportStar(require("./grpc"), exports);
20
+ __exportStar(require("./rest"), exports);
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB;AACvB,4CAA0B;AAC1B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB"}
@@ -1,20 +1,30 @@
1
1
  import { Hook, OpenAPIHono } from '@hono/zod-openapi';
2
2
  import { BaseHelper, ValueOrPromise } from '@venizia/ignis-helpers';
3
3
  import { Env, Schema } from 'hono';
4
- import { IController, IControllerOptions, IAuthRouteConfig, IBindRouteOptions, IDefineRouteOptions, TRouteHandler } from './common/types';
5
- /** Abstract base class for all controllers, providing route registration and auth middleware integration. */
6
- export declare abstract class AbstractController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}, Definitions extends Record<string, IAuthRouteConfig> = Record<string, IAuthRouteConfig>> extends BaseHelper implements IController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions> {
4
+ import { IAuthRouteConfig, IBindRouteOptions, IController, IControllerOptions, IDefineRouteOptions, TRouteHandler } from '../common/types';
5
+ /** Abstract base class for all REST controllers, providing route registration and auth middleware integration. */
6
+ export declare abstract class AbstractRestController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}, Definitions extends Record<string, IAuthRouteConfig> = Record<string, IAuthRouteConfig>> extends BaseHelper implements IController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions> {
7
+ isConfigured: boolean;
7
8
  router: OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
8
- /** Route definitions map, keyed by route identifier (e.g., 'FIND', 'CREATE'). */
9
- definitions: Definitions;
10
9
  path: string;
10
+ definitions: Definitions;
11
11
  constructor(opts: IControllerOptions);
12
12
  /** Returns the OpenAPIHono router instance for this controller. */
13
13
  getRouter(): OpenAPIHono<RouteEnv, RouteSchema, BasePath>;
14
14
  /** Registers routes defined via decorators (@get, @post, etc.) from the metadata registry. */
15
15
  registerRoutesFromRegistry(): void;
16
- /** Configures the controller by binding all routes and registering decorator-based routes. */
16
+ /** Configures the controller by binding all routes and registering decorator-based routes. Idempotent. */
17
17
  configure(opts?: ConfigurableOptions): Promise<OpenAPIHono<RouteEnv, RouteSchema, BasePath>>;
18
+ /** @internal Builds auth + custom middlewares and security specs from route config. */
19
+ buildRouteMiddlewares<RouteConfig extends IAuthRouteConfig>(opts: {
20
+ configs: RouteConfig;
21
+ }): {
22
+ restConfig: Omit<RouteConfig, "authenticate" | "authorize">;
23
+ security: {
24
+ [x: string]: never[];
25
+ }[];
26
+ mws: import("hono").MiddlewareHandler<Env>[];
27
+ };
18
28
  /** Processes route config, injecting auth middleware and OpenAPI security specs. */
19
29
  getRouteConfigs<RouteConfig extends IAuthRouteConfig>(opts: {
20
30
  configs: RouteConfig;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/rest/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,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,kHAAkH;AAClH,8BAAsB,sBAAsB,CAC1C,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,YAAY,UAAS;IACrB,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;gBAEb,IAAI,EAAE,kBAAkB;IA4BpC,mEAAmE;IACnE,SAAS;IAIT,8FAA8F;IAC9F,0BAA0B,IAAI,IAAI;IAwBlC,0GAA0G;IACpG,SAAS,CACb,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAmBxD,uFAAuF;IACvF,qBAAqB,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;;;;;IAoC1F,oFAAoF;IACpF,eAAe,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;IAapF,4EAA4E;IAC5E,kBAAkB,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE;;;IAavF,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,17 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractController = void 0;
4
- const constants_1 = require("../../components/auth/authenticate/common/constants");
5
- const authenticate_middleware_1 = require("../../components/auth/authenticate/middlewares/authenticate.middleware");
6
- const authorize_middleware_1 = require("../../components/auth/authorize/middlewares/authorize.middleware");
7
- const registry_1 = require("../../helpers/inversion/registry");
8
- const jsx_utility_1 = require("../../utilities/jsx.utility");
3
+ exports.AbstractRestController = void 0;
4
+ const constants_1 = require("../../../components/auth/authenticate/common/constants");
5
+ const authenticate_middleware_1 = require("../../../components/auth/authenticate/middlewares/authenticate.middleware");
6
+ const authorize_middleware_1 = require("../../../components/auth/authorize/middlewares/authorize.middleware");
7
+ const registry_1 = require("../../../helpers/inversion/registry");
8
+ const jsx_utility_1 = require("../../../utilities/jsx.utility");
9
9
  const zod_openapi_1 = require("@hono/zod-openapi");
10
10
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
11
- /** Abstract base class for all controllers, providing route registration and auth middleware integration. */
12
- class AbstractController extends ignis_helpers_1.BaseHelper {
11
+ /** Abstract base class for all REST controllers, providing route registration and auth middleware integration. */
12
+ class AbstractRestController extends ignis_helpers_1.BaseHelper {
13
13
  constructor(opts) {
14
14
  super(opts);
15
+ this.isConfigured = false;
15
16
  const { isStrict = true } = opts;
16
17
  // Resolve path: decorator metadata takes priority, then constructor option
17
18
  const decoratorMetadata = registry_1.MetadataRegistry.getInstance().getControllerMetadata({
@@ -45,28 +46,37 @@ class AbstractController extends ignis_helpers_1.BaseHelper {
45
46
  if (!routes?.size) {
46
47
  return;
47
48
  }
49
+ const logger = this.logger.for(this.registerRoutesFromRegistry.name);
48
50
  const routeDefs = routes.entries();
49
51
  for (const [methodName, routeConfigs] of routeDefs) {
52
+ const handler = this[methodName];
53
+ if (typeof handler !== 'function') {
54
+ logger.warn('Route method "%s" not found on controller', String(methodName));
55
+ continue;
56
+ }
50
57
  this.bindRoute({ configs: routeConfigs }).to({
51
- handler: this[methodName].bind(this),
58
+ handler: handler.bind(this),
52
59
  });
53
60
  }
54
61
  }
55
- /** Configures the controller by binding all routes and registering decorator-based routes. */
62
+ /** Configures the controller by binding all routes and registering decorator-based routes. Idempotent. */
56
63
  async configure(opts) {
64
+ if (this.isConfigured) {
65
+ return this.router;
66
+ }
57
67
  const t = performance.now();
58
68
  const logger = this.logger.for(this.configure.name);
59
69
  const configureOptions = opts ?? {};
60
70
  logger.info('START | Binding controller | Options: %j', configureOptions);
61
71
  await this.binding();
62
72
  this.registerRoutesFromRegistry();
73
+ this.isConfigured = true;
63
74
  logger.info('DONE | Binding controller | Took: %s (ms)', performance.now() - t);
64
75
  return this.router;
65
76
  }
66
- /** Processes route config, injecting auth middleware and OpenAPI security specs. */
67
- getRouteConfigs(opts) {
68
- const { configs } = opts;
69
- const { authenticate = {}, authorize, ...restConfig } = configs;
77
+ /** @internal Builds auth + custom middlewares and security specs from route config. */
78
+ buildRouteMiddlewares(opts) {
79
+ const { authenticate = {}, authorize, ...restConfig } = opts.configs;
70
80
  const { strategies = [], mode = constants_1.AuthenticationModes.ANY } = authenticate;
71
81
  const security = strategies.map((strategy) => ({ [strategy]: [] }));
72
82
  const mws = [];
@@ -92,6 +102,11 @@ class AbstractController extends ignis_helpers_1.BaseHelper {
92
102
  }
93
103
  }
94
104
  }
105
+ return { restConfig, security, mws };
106
+ }
107
+ /** Processes route config, injecting auth middleware and OpenAPI security specs. */
108
+ getRouteConfigs(opts) {
109
+ const { restConfig, security, mws } = this.buildRouteMiddlewares(opts);
95
110
  const { tags = [] } = restConfig;
96
111
  return (0, zod_openapi_1.createRoute)(Object.assign({}, restConfig, {
97
112
  middleware: mws,
@@ -101,40 +116,15 @@ class AbstractController extends ignis_helpers_1.BaseHelper {
101
116
  }
102
117
  /** Like getRouteConfigs but adds HTML response schema for JSX rendering. */
103
118
  getJSXRouteConfigs(opts) {
104
- const { configs } = opts;
105
- const { authenticate = {}, authorize, ...restConfig } = configs;
106
- const { strategies = [], mode = constants_1.AuthenticationModes.ANY } = authenticate;
107
- const security = strategies.map((strategy) => ({ [strategy]: [] }));
108
- const mws = [];
109
- // Inject authenticate middleware
110
- if (strategies.length > 0) {
111
- mws.push((0, authenticate_middleware_1.authenticate)({ strategies, mode }));
112
- }
113
- // Inject authorize middleware AFTER authenticate
114
- if (authorize) {
115
- const specs = Array.isArray(authorize) ? authorize : [authorize];
116
- for (const spec of specs) {
117
- mws.push((0, authorize_middleware_1.authorize)({ spec }));
118
- }
119
- }
120
- // Inject custom middleware
121
- if (restConfig.middleware) {
122
- const extraMws = Array.isArray(restConfig.middleware)
123
- ? restConfig.middleware
124
- : [restConfig.middleware];
125
- for (const mw of extraMws) {
126
- if (mw) {
127
- mws.push(mw);
128
- }
129
- }
130
- }
119
+ const { restConfig, security, mws } = this.buildRouteMiddlewares(opts);
131
120
  const { responses, tags = [] } = restConfig;
132
121
  return (0, zod_openapi_1.createRoute)(Object.assign({}, restConfig, {
122
+ middleware: mws,
133
123
  responses: Object.assign({}, (0, jsx_utility_1.htmlResponse)({ description: 'HTML page' }), responses),
134
124
  tags: [...tags, this.scope],
135
125
  security,
136
126
  }));
137
127
  }
138
128
  }
139
- exports.AbstractController = AbstractController;
129
+ exports.AbstractRestController = AbstractRestController;
140
130
  //# sourceMappingURL=abstract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/controllers/rest/abstract.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Hook, OpenAPIHono } from '@hono/zod-openapi';
2
2
  import { ValueOrPromise } from '@venizia/ignis-helpers';
3
3
  import { Env, Schema } from 'hono';
4
- import { AbstractController } from './abstract';
5
- import { IAuthRouteConfig, IBindRouteOptions, IDefineRouteOptions, TRouteHandler } from './common/types';
6
- /** Recommended base class for controllers with concrete bindRoute and defineRoute implementations. */
7
- export declare abstract class BaseController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}, Definitions extends Record<string, IAuthRouteConfig> = Record<string, IAuthRouteConfig>> extends AbstractController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions, Definitions> {
4
+ import { IAuthRouteConfig, IBindRouteOptions, IDefineRouteOptions, TRouteHandler } from '../common/types';
5
+ import { AbstractRestController } from './abstract';
6
+ /** Recommended base class for REST controllers with concrete bindRoute and defineRoute implementations. */
7
+ export declare abstract class BaseRestController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ConfigurableOptions extends object = {}, Definitions extends Record<string, IAuthRouteConfig> = Record<string, IAuthRouteConfig>> extends AbstractRestController<RouteEnv, RouteSchema, BasePath, ConfigurableOptions, Definitions> {
8
8
  /** Casts handler to Hono OpenAPI Handler type. */
9
9
  toHonoHandler<ResponseType = unknown>(opts: {
10
10
  handler: TRouteHandler<ResponseType, RouteEnv>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/rest/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,2GAA2G;AAC3G,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,CACvF,SAAQ,sBAAsB,CAC9B,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,WAAW,CACZ;IACC,kDAAkD;IAClD,aAAa,CAAC,YAAY,GAAG,OAAO,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;KAAE,GACrE,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAGxE,uFAAuF;IACvF,SAAS,CAAC,WAAW,SAAS,gBAAgB,EAAE,IAAI,EAAE;QACpD,OAAO,EAAE,WAAW,CAAC;KACtB,GAAG,iBAAiB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;IAcnE,uEAAuE;IACvE,WAAW,CAAC,WAAW,SAAS,gBAAgB,EAAE,YAAY,GAAG,OAAO,EAAE,IAAI,EAAE;QAC9E,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;IAarE,sEAAsE;IACtE,cAAc,CAAC,WAAW,SAAS,gBAAgB,EAAE,YAAY,GAAG,OAAO,EAAE,IAAI,EAAE;QACjF,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;CAStE"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseController = void 0;
3
+ exports.BaseRestController = void 0;
4
4
  const abstract_1 = require("./abstract");
5
- /** Recommended base class for controllers with concrete bindRoute and defineRoute implementations. */
6
- class BaseController extends abstract_1.AbstractController {
5
+ /** Recommended base class for REST controllers with concrete bindRoute and defineRoute implementations. */
6
+ class BaseRestController extends abstract_1.AbstractRestController {
7
7
  /** Casts handler to Hono OpenAPI Handler type. */
8
8
  toHonoHandler(opts) {
9
9
  return opts.handler;
@@ -39,5 +39,5 @@ class BaseController extends abstract_1.AbstractController {
39
39
  };
40
40
  }
41
41
  }
42
- exports.BaseController = BaseController;
42
+ exports.BaseRestController = BaseRestController;
43
43
  //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/base/controllers/rest/base.ts"],"names":[],"mappings":";;;AASA,yCAAoD;AAEpD,2GAA2G;AAC3G,MAAsB,kBAMpB,SAAQ,iCAMT;IACC,kDAAkD;IAClD,aAAa,CAAyB,IAAwD;QAC5F,OAAO,IAAI,CAAC,OAA0D,CAAC;IACzE,CAAC;IAED,uFAAuF;IACvF,SAAS,CAAuC,IAE/C;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAElF,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAClB,OAAO;oBACL,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;iBAC1E,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,WAAW,CAA+D,IAIzE;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAElF,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,YAAY,EACZ,IAAI,CAAC,aAAa,CAAe,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAC3D,IAAI,CAAC,IAAI,CACV;SACF,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,cAAc,CAA+D,IAI5E;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAErF,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,sEAAsE;YACtE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,OAAc,EAAE,IAAI,CAAC,IAAI,CAAC;SACzE,CAAC;IACJ,CAAC;CACF;AAnED,gDAmEC"}
@@ -0,0 +1,3 @@
1
+ export * from './abstract';
2
+ export * from './base';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/rest/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,19 @@
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("./abstract"), exports);
18
+ __exportStar(require("./base"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/controllers/rest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB"}
@@ -1,5 +1,5 @@
1
1
  export * from './injectors';
2
2
  export * from './persistents';
3
- export * from './routes';
4
3
  export * from './request-context';
4
+ export * from './routes';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/metadata/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/metadata/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
@@ -16,6 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./injectors"), exports);
18
18
  __exportStar(require("./persistents"), exports);
19
- __exportStar(require("./routes"), exports);
20
19
  __exportStar(require("./request-context"), exports);
20
+ __exportStar(require("./routes"), exports);
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/metadata/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,2CAAyB;AACzB,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/metadata/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,oDAAkC;AAClC,2CAAyB"}
@@ -0,0 +1,3 @@
1
+ import { TControllerMetadata } from '../../../helpers/inversion';
2
+ export declare const controller: (metadata: TControllerMetadata) => ClassDecorator;
3
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/base/metadata/routes/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,eAAO,MAAM,UAAU,GAAI,UAAU,mBAAmB,KAAG,cAI1D,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.controller = void 0;
4
+ const inversion_1 = require("../../../helpers/inversion");
5
+ const controller = (metadata) => {
6
+ return target => {
7
+ inversion_1.MetadataRegistry.getInstance().setControllerMetadata({ target, metadata });
8
+ };
9
+ };
10
+ exports.controller = controller;
11
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/base/metadata/routes/controller.ts"],"names":[],"mappings":";;;AAAA,mDAA4E;AAErE,MAAM,UAAU,GAAG,CAAC,QAA6B,EAAkB,EAAE;IAC1E,OAAO,MAAM,CAAC,EAAE;QACd,4BAAgB,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB"}
@@ -0,0 +1,4 @@
1
+ export * from './controller';
2
+ export * from './rest';
3
+ export * from './rpc';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/base/metadata/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,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("./rest"), exports);
19
+ __exportStar(require("./rpc"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/base/metadata/routes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,yCAAuB;AACvB,wCAAsB"}
@@ -1,28 +1,26 @@
1
- import { IControllerMetadata } from '../../helpers/inversion';
2
- import { IAuthRouteConfig as IAuthRouteConfig } from '../controllers';
3
- export declare const controller: (metadata: IControllerMetadata) => ClassDecorator;
1
+ import { IAuthRouteConfig } from '../../controllers';
4
2
  /** Generic route decorator. Registers route config in metadata registry. */
5
- export declare const api: <RouteConfig extends IAuthRouteConfig>(opts: {
6
- configs: RouteConfig;
3
+ export declare const api: <RestRouteConfigType extends IAuthRouteConfig>(opts: {
4
+ configs: RestRouteConfigType;
7
5
  }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
8
6
  /** GET route decorator. Equivalent to @api but automatically sets method to 'get'. */
9
- export declare const get: <RouteConfig extends Omit<IAuthRouteConfig, "method">>(opts: {
10
- configs: RouteConfig;
7
+ export declare const get: <RestRouteConfigType extends Omit<IAuthRouteConfig, "method">>(opts: {
8
+ configs: RestRouteConfigType;
11
9
  }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
12
10
  /** POST route decorator. Equivalent to @api but automatically sets method to 'post'. */
13
- export declare const post: <RouteConfig extends Omit<IAuthRouteConfig, "method">>(opts: {
14
- configs: RouteConfig;
11
+ export declare const post: <RestRouteConfigType extends Omit<IAuthRouteConfig, "method">>(opts: {
12
+ configs: RestRouteConfigType;
15
13
  }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
16
14
  /** PUT route decorator. Equivalent to @api but automatically sets method to 'put'. */
17
- export declare const put: <RouteConfig extends Omit<IAuthRouteConfig, "method">>(opts: {
18
- configs: RouteConfig;
15
+ export declare const put: <RestRouteConfigType extends Omit<IAuthRouteConfig, "method">>(opts: {
16
+ configs: RestRouteConfigType;
19
17
  }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
20
18
  /** PATCH route decorator. Equivalent to @api but automatically sets method to 'patch'. */
21
- export declare const patch: <RouteConfig extends Omit<IAuthRouteConfig, "method">>(opts: {
22
- configs: RouteConfig;
19
+ export declare const patch: <RestRouteConfigType extends Omit<IAuthRouteConfig, "method">>(opts: {
20
+ configs: RestRouteConfigType;
23
21
  }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
24
22
  /** DELETE route decorator. Equivalent to @api but automatically sets method to 'delete'. */
25
- export declare const del: <RouteConfig extends Omit<IAuthRouteConfig, "method">>(opts: {
26
- configs: RouteConfig;
23
+ export declare const del: <RestRouteConfigType extends Omit<IAuthRouteConfig, "method">>(opts: {
24
+ configs: RestRouteConfigType;
27
25
  }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
28
- //# sourceMappingURL=routes.d.ts.map
26
+ //# sourceMappingURL=rest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../../src/base/metadata/routes/rest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,4EAA4E;AAC5E,eAAO,MAAM,GAAG,GAAI,mBAAmB,SAAS,gBAAgB,EAAE,MAAM;IACtE,OAAO,EAAE,mBAAmB,CAAC;CAC9B,MAEG,QAAQ,GAAG,EACX,aAAa,MAAM,GAAG,MAAM,EAC5B,aAAa,kBAAkB,KAC9B,IAOJ,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,GAAG,GAAI,mBAAmB,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM;IACtF,OAAO,EAAE,mBAAmB,CAAC;CAC9B,cAfW,GAAG,eACE,MAAM,GAAG,MAAM,eACf,kBAAkB,KAC9B,IAkBJ,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,IAAI,GAAI,mBAAmB,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM;IACvF,OAAO,EAAE,mBAAmB,CAAC;CAC9B,cA1BW,GAAG,eACE,MAAM,GAAG,MAAM,eACf,kBAAkB,KAC9B,IA6BJ,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,GAAG,GAAI,mBAAmB,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM;IACtF,OAAO,EAAE,mBAAmB,CAAC;CAC9B,cArCW,GAAG,eACE,MAAM,GAAG,MAAM,eACf,kBAAkB,KAC9B,IAwCJ,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,KAAK,GAAI,mBAAmB,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM;IACxF,OAAO,EAAE,mBAAmB,CAAC;CAC9B,cAhDW,GAAG,eACE,MAAM,GAAG,MAAM,eACf,kBAAkB,KAC9B,IAmDJ,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,GAAG,GAAI,mBAAmB,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM;IACtF,OAAO,EAAE,mBAAmB,CAAC;CAC9B,cA3DW,GAAG,eACE,MAAM,GAAG,MAAM,eACf,kBAAkB,KAC9B,IA8DJ,CAAC"}
@@ -1,14 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.del = exports.patch = exports.put = exports.post = exports.get = exports.api = exports.controller = void 0;
4
- const inversion_1 = require("../../helpers/inversion");
3
+ exports.del = exports.patch = exports.put = exports.post = exports.get = exports.api = void 0;
4
+ const inversion_1 = require("../../../helpers/inversion");
5
5
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
6
- const controller = (metadata) => {
7
- return target => {
8
- inversion_1.MetadataRegistry.getInstance().setControllerMetadata({ target, metadata });
9
- };
10
- };
11
- exports.controller = controller;
12
6
  /** Generic route decorator. Registers route config in metadata registry. */
13
7
  const api = (opts) => {
14
8
  return function (target, propertyKey, _descriptor) {
@@ -55,4 +49,4 @@ const del = (opts) => {
55
49
  });
56
50
  };
57
51
  exports.del = del;
58
- //# sourceMappingURL=routes.js.map
52
+ //# sourceMappingURL=rest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/base/metadata/routes/rest.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AACvD,0DAA8C;AAG9C,4EAA4E;AACrE,MAAM,GAAG,GAAG,CAA+C,IAEjE,EAAE,EAAE;IACH,OAAO,UACL,MAAW,EACX,WAA4B,EAC5B,WAA+B;QAE/B,4BAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACtC,MAAM;YACN,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,GAAG,OAcd;AAEF,sFAAsF;AAC/E,MAAM,GAAG,GAAG,CAA+D,IAEjF,EAAE,EAAE;IACH,OAAO,IAAA,WAAG,EAAC;QACT,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAI,CAAC,OAAO,CAAC,GAAG,EAEnD;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,GAAG,OAQd;AAEF,wFAAwF;AACjF,MAAM,IAAI,GAAG,CAA+D,IAElF,EAAE,EAAE;IACH,OAAO,IAAA,WAAG,EAAC;QACT,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAI,CAAC,OAAO,CAAC,IAAI,EAEpD;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,IAAI,QAQf;AAEF,sFAAsF;AAC/E,MAAM,GAAG,GAAG,CAA+D,IAEjF,EAAE,EAAE;IACH,OAAO,IAAA,WAAG,EAAC;QACT,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAI,CAAC,OAAO,CAAC,GAAG,EAEnD;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,GAAG,OAQd;AAEF,0FAA0F;AACnF,MAAM,KAAK,GAAG,CAA+D,IAEnF,EAAE,EAAE;IACH,OAAO,IAAA,WAAG,EAAC;QACT,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAI,CAAC,OAAO,CAAC,KAAK,EAErD;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,KAAK,SAQhB;AAEF,4FAA4F;AACrF,MAAM,GAAG,GAAG,CAA+D,IAEjF,EAAE,EAAE;IACH,OAAO,IAAA,WAAG,EAAC;QACT,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAI,CAAC,OAAO,CAAC,MAAM,EAEtD;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,GAAG,OAQd"}
@@ -0,0 +1,22 @@
1
+ import { IRpcMetadata } from '../../../helpers/inversion/common/types';
2
+ /** Generic RPC decorator. Registers RPC config in metadata registry. */
3
+ export declare const rpc: <RpcRouteConfigType extends IRpcMetadata>(opts: {
4
+ configs: RpcRouteConfigType;
5
+ }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
6
+ /** Unary RPC decorator. Equivalent to @rpc but automatically sets method to 'unary'. */
7
+ export declare const unary: <RpcRouteConfigType extends Omit<IRpcMetadata, "method">>(opts: {
8
+ configs: RpcRouteConfigType;
9
+ }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
10
+ /** Server streaming RPC decorator. Equivalent to @rpc but automatically sets method to 'server_streaming'. */
11
+ export declare const serverStream: <RpcRouteConfigType extends Omit<IRpcMetadata, "method">>(opts: {
12
+ configs: RpcRouteConfigType;
13
+ }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
14
+ /** Client streaming RPC decorator. Equivalent to @rpc but automatically sets method to 'client_streaming'. */
15
+ export declare const clientStream: <RpcRouteConfigType extends Omit<IRpcMetadata, "method">>(opts: {
16
+ configs: RpcRouteConfigType;
17
+ }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
18
+ /** Bidirectional streaming RPC decorator. Equivalent to @rpc but automatically sets method to 'bidi_streaming'. */
19
+ export declare const bidiStream: <RpcRouteConfigType extends Omit<IRpcMetadata, "method">>(opts: {
20
+ configs: RpcRouteConfigType;
21
+ }) => (target: any, propertyKey: string | symbol, _descriptor: PropertyDescriptor) => void;
22
+ //# sourceMappingURL=rpc.d.ts.map