@venizia/ignis 0.0.7 → 0.0.8-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/applications/abstract.js +2 -2
- package/dist/base/applications/abstract.js.map +1 -1
- package/dist/base/applications/base.d.ts.map +1 -1
- package/dist/base/applications/base.js +56 -31
- package/dist/base/applications/base.js.map +1 -1
- package/dist/base/applications/types.d.ts +5 -2
- package/dist/base/applications/types.d.ts.map +1 -1
- package/dist/base/applications/types.js.map +1 -1
- package/dist/base/components/base.d.ts +1 -0
- package/dist/base/components/base.d.ts.map +1 -1
- package/dist/base/components/base.js +5 -0
- package/dist/base/components/base.js.map +1 -1
- package/dist/base/controllers/common/constants.d.ts +7 -0
- package/dist/base/controllers/common/constants.d.ts.map +1 -1
- package/dist/base/controllers/common/constants.js +8 -2
- package/dist/base/controllers/common/constants.js.map +1 -1
- package/dist/base/controllers/common/types.d.ts +2 -2
- package/dist/base/controllers/common/types.d.ts.map +1 -1
- package/dist/base/controllers/common/types.js.map +1 -1
- package/dist/base/controllers/factory/controller.d.ts +20 -6
- package/dist/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/base/controllers/factory/controller.js +15 -4
- package/dist/base/controllers/factory/controller.js.map +1 -1
- package/dist/base/controllers/grpc/abstract.d.ts +42 -0
- package/dist/base/controllers/grpc/abstract.d.ts.map +1 -0
- package/dist/base/controllers/grpc/abstract.js +110 -0
- package/dist/base/controllers/grpc/abstract.js.map +1 -0
- package/dist/base/controllers/grpc/adapter.d.ts +37 -0
- package/dist/base/controllers/grpc/adapter.d.ts.map +1 -0
- package/dist/base/controllers/grpc/adapter.js +152 -0
- package/dist/base/controllers/grpc/adapter.js.map +1 -0
- package/dist/base/controllers/grpc/base.d.ts +19 -0
- package/dist/base/controllers/grpc/base.d.ts.map +1 -0
- package/dist/base/controllers/grpc/base.js +43 -0
- package/dist/base/controllers/grpc/base.js.map +1 -0
- package/dist/base/controllers/grpc/common/index.d.ts +2 -0
- package/dist/base/controllers/grpc/common/index.d.ts.map +1 -0
- package/dist/base/controllers/grpc/common/index.js +18 -0
- package/dist/base/controllers/grpc/common/index.js.map +1 -0
- package/dist/base/controllers/grpc/common/types.d.ts +54 -0
- package/dist/base/controllers/grpc/common/types.d.ts.map +1 -0
- package/dist/base/controllers/grpc/common/types.js +3 -0
- package/dist/base/controllers/grpc/common/types.js.map +1 -0
- package/dist/base/controllers/grpc/index.d.ts +5 -0
- package/dist/base/controllers/grpc/index.d.ts.map +1 -0
- package/dist/base/controllers/grpc/index.js +21 -0
- package/dist/base/controllers/grpc/index.js.map +1 -0
- package/dist/base/controllers/index.d.ts +3 -3
- package/dist/base/controllers/index.d.ts.map +1 -1
- package/dist/base/controllers/index.js +3 -3
- package/dist/base/controllers/index.js.map +1 -1
- package/dist/base/controllers/{abstract.d.ts → rest/abstract.d.ts} +16 -6
- package/dist/base/controllers/rest/abstract.d.ts.map +1 -0
- package/dist/base/controllers/{abstract.js → rest/abstract.js} +32 -42
- package/dist/base/controllers/rest/abstract.js.map +1 -0
- package/dist/base/controllers/{base.d.ts → rest/base.d.ts} +4 -4
- package/dist/base/controllers/rest/base.d.ts.map +1 -0
- package/dist/base/controllers/{base.js → rest/base.js} +4 -4
- package/dist/base/controllers/rest/base.js.map +1 -0
- package/dist/base/controllers/rest/index.d.ts +3 -0
- package/dist/base/controllers/rest/index.d.ts.map +1 -0
- package/dist/base/controllers/rest/index.js +19 -0
- package/dist/base/controllers/rest/index.js.map +1 -0
- package/dist/base/metadata/index.d.ts +1 -1
- package/dist/base/metadata/index.d.ts.map +1 -1
- package/dist/base/metadata/index.js +1 -1
- package/dist/base/metadata/index.js.map +1 -1
- package/dist/base/metadata/routes/controller.d.ts +3 -0
- package/dist/base/metadata/routes/controller.d.ts.map +1 -0
- package/dist/base/metadata/routes/controller.js +11 -0
- package/dist/base/metadata/routes/controller.js.map +1 -0
- package/dist/base/metadata/routes/index.d.ts +4 -0
- package/dist/base/metadata/routes/index.d.ts.map +1 -0
- package/dist/base/metadata/routes/index.js +20 -0
- package/dist/base/metadata/routes/index.js.map +1 -0
- package/dist/base/metadata/{routes.d.ts → routes/rest.d.ts} +14 -16
- package/dist/base/metadata/routes/rest.d.ts.map +1 -0
- package/dist/base/metadata/{routes.js → routes/rest.js} +3 -9
- package/dist/base/metadata/routes/rest.js.map +1 -0
- package/dist/base/metadata/routes/rpc.d.ts +22 -0
- package/dist/base/metadata/routes/rpc.d.ts.map +1 -0
- package/dist/base/metadata/routes/rpc.js +45 -0
- package/dist/base/metadata/routes/rpc.js.map +1 -0
- package/dist/base/mixins/index.d.ts +0 -1
- package/dist/base/mixins/index.d.ts.map +1 -1
- package/dist/base/mixins/index.js +0 -1
- package/dist/base/mixins/index.js.map +1 -1
- package/dist/components/auth/authenticate/common/types.d.ts +2 -2
- package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.d.ts +11 -1
- package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/factory.js +2 -2
- package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +2 -2
- package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +1 -1
- package/dist/components/auth/authenticate/controllers/jwks/controller.js +2 -2
- package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -1
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts +2 -1
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -1
- package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -1
- package/dist/components/auth/authenticate/providers/authentication.provider.d.ts +3 -2
- package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
- package/dist/components/auth/authenticate/providers/authentication.provider.js +15 -10
- package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
- package/dist/components/controller/grpc/common/index.d.ts +2 -0
- package/dist/components/controller/grpc/common/index.d.ts.map +1 -0
- package/dist/components/controller/grpc/common/index.js +18 -0
- package/dist/components/controller/grpc/common/index.js.map +1 -0
- package/dist/components/controller/grpc/common/types.d.ts +7 -0
- package/dist/components/controller/grpc/common/types.d.ts.map +1 -0
- package/dist/components/controller/grpc/common/types.js +8 -0
- package/dist/components/controller/grpc/common/types.js.map +1 -0
- package/dist/components/controller/grpc/grpc.component.d.ts +8 -0
- package/dist/components/controller/grpc/grpc.component.d.ts.map +1 -0
- package/dist/components/controller/grpc/grpc.component.js +87 -0
- package/dist/components/controller/grpc/grpc.component.js.map +1 -0
- package/dist/components/controller/grpc/index.d.ts +3 -0
- package/dist/components/controller/grpc/index.d.ts.map +1 -0
- package/dist/components/controller/grpc/index.js +19 -0
- package/dist/components/controller/grpc/index.js.map +1 -0
- package/dist/components/controller/index.d.ts +2 -0
- package/dist/components/controller/index.d.ts.map +1 -0
- package/dist/components/controller/index.js +20 -0
- package/dist/components/controller/index.js.map +1 -0
- package/dist/components/controller/rest/common/index.d.ts +2 -0
- package/dist/components/controller/rest/common/index.d.ts.map +1 -0
- package/dist/components/controller/rest/common/index.js +18 -0
- package/dist/components/controller/rest/common/index.js.map +1 -0
- package/dist/components/controller/rest/common/types.d.ts +6 -0
- package/dist/components/controller/rest/common/types.d.ts.map +1 -0
- package/dist/components/controller/rest/common/types.js +8 -0
- package/dist/components/controller/rest/common/types.js.map +1 -0
- package/dist/components/controller/rest/index.d.ts +3 -0
- package/dist/components/controller/rest/index.d.ts.map +1 -0
- package/dist/components/controller/rest/index.js +19 -0
- package/dist/components/controller/rest/index.js.map +1 -0
- package/dist/components/controller/rest/rest.component.d.ts +8 -0
- package/dist/components/controller/rest/rest.component.d.ts.map +1 -0
- package/dist/components/controller/rest/rest.component.js +80 -0
- package/dist/components/controller/rest/rest.component.js.map +1 -0
- package/dist/components/health-check/controller.d.ts +2 -2
- package/dist/components/health-check/controller.d.ts.map +1 -1
- package/dist/components/health-check/controller.js +1 -1
- package/dist/components/health-check/controller.js.map +1 -1
- package/dist/components/index.d.ts +1 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +6 -6
- package/dist/components/index.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts +12 -2
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/components/static-asset/controller/factory.js +5 -5
- package/dist/components/static-asset/controller/factory.js.map +1 -1
- package/dist/helpers/inversion/common/keys.d.ts +2 -1
- package/dist/helpers/inversion/common/keys.d.ts.map +1 -1
- package/dist/helpers/inversion/common/keys.js +2 -1
- package/dist/helpers/inversion/common/keys.js.map +1 -1
- package/dist/helpers/inversion/common/types.d.ts +25 -8
- package/dist/helpers/inversion/common/types.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/controllers/controller.d.ts +76 -0
- package/dist/helpers/inversion/mixins/controllers/controller.d.ts.map +1 -0
- package/dist/helpers/inversion/mixins/controllers/controller.js +34 -0
- package/dist/helpers/inversion/mixins/controllers/controller.js.map +1 -0
- package/dist/helpers/inversion/mixins/controllers/grpc.d.ts +82 -0
- package/dist/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -0
- package/dist/helpers/inversion/mixins/controllers/grpc.js +33 -0
- package/dist/helpers/inversion/mixins/controllers/grpc.js.map +1 -0
- package/dist/helpers/inversion/mixins/controllers/index.d.ts +4 -0
- package/dist/helpers/inversion/mixins/controllers/index.d.ts.map +1 -0
- package/dist/helpers/inversion/mixins/controllers/index.js +20 -0
- package/dist/helpers/inversion/mixins/controllers/index.js.map +1 -0
- package/dist/helpers/inversion/mixins/{controller.mixin.d.ts → controllers/rest.d.ts} +10 -25
- package/dist/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -0
- package/dist/helpers/inversion/mixins/controllers/rest.js +33 -0
- package/dist/helpers/inversion/mixins/controllers/rest.js.map +1 -0
- package/dist/helpers/inversion/mixins/index.d.ts +1 -1
- package/dist/helpers/inversion/mixins/index.d.ts.map +1 -1
- package/dist/helpers/inversion/mixins/index.js +1 -1
- package/dist/helpers/inversion/mixins/index.js.map +1 -1
- package/dist/helpers/inversion/registry.d.ts +146 -9
- package/dist/helpers/inversion/registry.d.ts.map +1 -1
- package/dist/helpers/inversion/registry.js +2 -1
- package/dist/helpers/inversion/registry.js.map +1 -1
- package/package.json +20 -3
- package/dist/base/controllers/abstract.d.ts.map +0 -1
- package/dist/base/controllers/abstract.js.map +0 -1
- package/dist/base/controllers/base.d.ts.map +0 -1
- package/dist/base/controllers/base.js.map +0 -1
- package/dist/base/metadata/routes.d.ts.map +0 -1
- package/dist/base/metadata/routes.js.map +0 -1
- package/dist/base/mixins/controller.mixin.d.ts +0 -89
- package/dist/base/mixins/controller.mixin.d.ts.map +0 -1
- package/dist/base/mixins/controller.mixin.js +0 -56
- package/dist/base/mixins/controller.mixin.js.map +0 -1
- package/dist/helpers/inversion/mixins/controller.mixin.d.ts.map +0 -1
- package/dist/helpers/inversion/mixins/controller.mixin.js +0 -50
- package/dist/helpers/inversion/mixins/controller.mixin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAA2B,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const constants_1 = require("../../../base/models/common/constants");
|
|
|
5
5
|
const types_1 = require("../../../base/models/common/types");
|
|
6
6
|
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
7
7
|
const ignis_inversion_1 = require("@venizia/ignis-inversion");
|
|
8
|
-
const base_1 = require("../base");
|
|
8
|
+
const base_1 = require("../rest/base");
|
|
9
9
|
const definition_1 = require("./definition");
|
|
10
10
|
/** Factory for generating typed CRUD controllers from entity definitions. */
|
|
11
11
|
class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
@@ -44,7 +44,7 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
44
44
|
},
|
|
45
45
|
});
|
|
46
46
|
// 3. Define class
|
|
47
|
-
const _controller = class extends base_1.
|
|
47
|
+
const _controller = class extends base_1.BaseRestController {
|
|
48
48
|
constructor(repository) {
|
|
49
49
|
super({ scope: name, path: basePath, isStrict: isStrict.path ?? true });
|
|
50
50
|
this.repository = repository;
|
|
@@ -119,7 +119,7 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
119
119
|
const rs = await (0, ignis_helpers_1.executeWithPerformanceMeasure)({
|
|
120
120
|
logger: this.logger,
|
|
121
121
|
level: 'debug',
|
|
122
|
-
scope: '
|
|
122
|
+
scope: 'findById',
|
|
123
123
|
description: 'execute findById',
|
|
124
124
|
args: filter,
|
|
125
125
|
task: async () => {
|
|
@@ -179,7 +179,7 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
179
179
|
});
|
|
180
180
|
},
|
|
181
181
|
});
|
|
182
|
-
return context.json(rs, ignis_helpers_1.HTTP.ResultCodes.RS_2.
|
|
182
|
+
return context.json(rs, ignis_helpers_1.HTTP.ResultCodes.RS_2.Created);
|
|
183
183
|
}
|
|
184
184
|
/** PATCH /:id */
|
|
185
185
|
async updateById(opts) {
|
|
@@ -209,6 +209,9 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
209
209
|
async updateBy(opts) {
|
|
210
210
|
const { context } = opts;
|
|
211
211
|
const { where } = context.req.valid('query');
|
|
212
|
+
if (!where || Object.keys(where).length === 0) {
|
|
213
|
+
return context.json({ message: 'where filter is required for bulk operations' }, ignis_helpers_1.HTTP.ResultCodes.RS_4.BadRequest);
|
|
214
|
+
}
|
|
212
215
|
const data = context.req.valid('json');
|
|
213
216
|
const rs = await (0, ignis_helpers_1.executeWithPerformanceMeasure)({
|
|
214
217
|
logger: this.logger,
|
|
@@ -256,6 +259,9 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
256
259
|
async deleteBy(opts) {
|
|
257
260
|
const { context } = opts;
|
|
258
261
|
const { where } = context.req.valid('query');
|
|
262
|
+
if (!where || Object.keys(where).length === 0) {
|
|
263
|
+
return context.json({ message: 'where filter is required for bulk operations' }, ignis_helpers_1.HTTP.ResultCodes.RS_4.BadRequest);
|
|
264
|
+
}
|
|
259
265
|
const rs = await (0, ignis_helpers_1.executeWithPerformanceMeasure)({
|
|
260
266
|
logger: this.logger,
|
|
261
267
|
level: 'debug',
|
|
@@ -277,6 +283,7 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
277
283
|
}
|
|
278
284
|
/** Registers all CRUD route handlers. */
|
|
279
285
|
binding() {
|
|
286
|
+
// Read routes — always registered
|
|
280
287
|
this.defineRoute({
|
|
281
288
|
configs: routeDefinitions.COUNT,
|
|
282
289
|
handler: async (context) => this.count({ context }),
|
|
@@ -293,6 +300,10 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
|
|
|
293
300
|
configs: routeDefinitions.FIND_BY_ID,
|
|
294
301
|
handler: async (context) => this.findById({ context }),
|
|
295
302
|
});
|
|
303
|
+
// Write routes — skipped when readonly
|
|
304
|
+
if (controller.readonly) {
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
296
307
|
this.defineRoute({
|
|
297
308
|
configs: routeDefinitions.CREATE,
|
|
298
309
|
handler: async (context) => this.create({ context }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IRpcMetadata } from '../../../helpers/inversion/common/types';
|
|
2
|
+
import type { ConnectRouter } from '@connectrpc/connect';
|
|
3
|
+
import { BaseHelper, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
4
|
+
import { Env, Hono, Schema } from 'hono';
|
|
5
|
+
import { IGrpcBindRouteOptions, IGrpcController, IGrpcControllerOptions, IGrpcDefineRouteOptions, IRpcRegistration, TRpcHandler, TRpcMiddleware } from './common/types';
|
|
6
|
+
/** Abstract base class for gRPC controllers, providing RPC registration and ConnectRPC integration. */
|
|
7
|
+
export declare abstract class AbstractGrpcController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ServiceType = Parameters<ConnectRouter['service']>[0], ConfigurableOptions extends object = {}> extends BaseHelper implements IGrpcController<RouteEnv, RouteSchema, BasePath, ServiceType, ConfigurableOptions> {
|
|
8
|
+
isConfigured: boolean;
|
|
9
|
+
definitions: Record<string, IRpcRegistration<RouteEnv>>;
|
|
10
|
+
/** ConnectRPC service definition from @controller metadata. */
|
|
11
|
+
service: ServiceType;
|
|
12
|
+
path: string;
|
|
13
|
+
basePath: string;
|
|
14
|
+
router: Hono<RouteEnv, RouteSchema, BasePath>;
|
|
15
|
+
constructor(opts: IGrpcControllerOptions);
|
|
16
|
+
/** Returns the per-controller sub-router. */
|
|
17
|
+
getRouter(): Hono<RouteEnv, RouteSchema, BasePath>;
|
|
18
|
+
/** Builds pre-built auth middleware from RPC config (symmetric with REST's buildRouteMiddlewares). */
|
|
19
|
+
buildRpcMiddlewares(opts: {
|
|
20
|
+
configs: IRpcMetadata;
|
|
21
|
+
}): TRpcMiddleware<RouteEnv>[];
|
|
22
|
+
/** Processes RPC config (symmetric with REST's getRouteConfigs). Returns configs as-is. */
|
|
23
|
+
getRouteConfigs(opts: {
|
|
24
|
+
configs: IRpcMetadata;
|
|
25
|
+
}): IRpcMetadata;
|
|
26
|
+
/** Registers RPC methods defined via @rpc/@unary/@serverStream/etc. decorators from the metadata registry. */
|
|
27
|
+
registerRpcsFromRegistry(): void;
|
|
28
|
+
/** Configures the controller by binding all RPCs, registering decorator-based RPCs, and mounting the adapter. Idempotent. */
|
|
29
|
+
configure(opts?: ConfigurableOptions): Promise<void>;
|
|
30
|
+
/** Override to register RPCs using bindRoute or defineRoute. */
|
|
31
|
+
abstract binding(): ValueOrPromise<void>;
|
|
32
|
+
/** Creates a fluent binding for registering an RPC (call .to() to attach handler). */
|
|
33
|
+
abstract bindRoute(opts: {
|
|
34
|
+
configs: IRpcMetadata;
|
|
35
|
+
}): IGrpcBindRouteOptions<RouteEnv>;
|
|
36
|
+
/** Defines and registers an RPC with its handler in a single call. */
|
|
37
|
+
abstract defineRoute(opts: {
|
|
38
|
+
configs: IRpcMetadata;
|
|
39
|
+
handler: TRpcHandler<unknown, unknown, RouteEnv>;
|
|
40
|
+
}): IGrpcDefineRouteOptions;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=abstract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/abstract.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAY,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,uGAAuG;AACvG,8BAAsB,sBAAsB,CAC1C,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,mBAAmB,SAAS,MAAM,GAAG,EAAE,CAEvC,SAAQ,UACR,YAAW,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,CAAC;IAE7F,YAAY,UAAS;IAErB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAM;IAE7D,+DAA+D;IAC/D,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAM;IACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAElC,IAAI,EAAE,sBAAsB;IA0BxC,6CAA6C;IAC7C,SAAS;IAIT,sGAAsG;IACtG,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE;IA2BhF,2FAA2F;IAC3F,eAAe,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,YAAY;IAI9D,8GAA8G;IAC9G,wBAAwB,IAAI,IAAI;IA+BhC,6HAA6H;IACvH,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB1D,gEAAgE;IAChE,QAAQ,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;IAExC,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IAEpF,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAClD,GAAG,uBAAuB;CAC5B"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractGrpcController = void 0;
|
|
4
|
+
const constants_1 = require("../../../base/controllers/common/constants");
|
|
5
|
+
const constants_2 = require("../../../components/auth/authenticate/common/constants");
|
|
6
|
+
const authenticate_middleware_1 = require("../../../components/auth/authenticate/middlewares/authenticate.middleware");
|
|
7
|
+
const authorize_middleware_1 = require("../../../components/auth/authorize/middlewares/authorize.middleware");
|
|
8
|
+
const registry_1 = require("../../../helpers/inversion/registry");
|
|
9
|
+
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
10
|
+
const hono_1 = require("hono");
|
|
11
|
+
const adapter_1 = require("./adapter");
|
|
12
|
+
/** Abstract base class for gRPC controllers, providing RPC registration and ConnectRPC integration. */
|
|
13
|
+
class AbstractGrpcController extends ignis_helpers_1.BaseHelper {
|
|
14
|
+
constructor(opts) {
|
|
15
|
+
super(opts);
|
|
16
|
+
this.isConfigured = false;
|
|
17
|
+
this.definitions = {};
|
|
18
|
+
this.basePath = '';
|
|
19
|
+
const decoratorMetadata = registry_1.MetadataRegistry.getInstance().getControllerMetadata({
|
|
20
|
+
target: new.target,
|
|
21
|
+
});
|
|
22
|
+
const resolvedPath = decoratorMetadata?.path ?? opts.path;
|
|
23
|
+
if (!resolvedPath) {
|
|
24
|
+
throw (0, ignis_helpers_1.getError)({
|
|
25
|
+
message: `[${new.target.name}] Controller path is required. Provide path via @controller decorator or constructor options.`,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
this.path = resolvedPath;
|
|
29
|
+
this.router = new hono_1.Hono();
|
|
30
|
+
if (decoratorMetadata?.transport === constants_1.ControllerTransports.GRPC && decoratorMetadata.service) {
|
|
31
|
+
this.service = decoratorMetadata.service;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.service = undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Returns the per-controller sub-router. */
|
|
38
|
+
getRouter() {
|
|
39
|
+
return this.router;
|
|
40
|
+
}
|
|
41
|
+
/** Builds pre-built auth middleware from RPC config (symmetric with REST's buildRouteMiddlewares). */
|
|
42
|
+
buildRpcMiddlewares(opts) {
|
|
43
|
+
const { configs } = opts;
|
|
44
|
+
const mws = [];
|
|
45
|
+
// Inject authenticate middleware
|
|
46
|
+
if (configs.authenticate) {
|
|
47
|
+
const { strategies = [], mode = constants_2.AuthenticationModes.ANY } = configs.authenticate;
|
|
48
|
+
if (strategies.length > 0) {
|
|
49
|
+
const authMw = (0, authenticate_middleware_1.authenticate)({ strategies, mode });
|
|
50
|
+
mws.push((context, next) => authMw(context, next));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Inject authorize middleware AFTER authenticate
|
|
54
|
+
if (configs.authorize) {
|
|
55
|
+
const specs = Array.isArray(configs.authorize)
|
|
56
|
+
? configs.authorize
|
|
57
|
+
: [configs.authorize];
|
|
58
|
+
for (const spec of specs) {
|
|
59
|
+
const authzMw = (0, authorize_middleware_1.authorize)({ spec });
|
|
60
|
+
mws.push((context, next) => authzMw(context, next));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return mws;
|
|
64
|
+
}
|
|
65
|
+
/** Processes RPC config (symmetric with REST's getRouteConfigs). Returns configs as-is. */
|
|
66
|
+
getRouteConfigs(opts) {
|
|
67
|
+
return opts.configs;
|
|
68
|
+
}
|
|
69
|
+
/** Registers RPC methods defined via @rpc/@unary/@serverStream/etc. decorators from the metadata registry. */
|
|
70
|
+
registerRpcsFromRegistry() {
|
|
71
|
+
const rpcs = registry_1.MetadataRegistry.getInstance().getRpcs({
|
|
72
|
+
target: Object.getPrototypeOf(this),
|
|
73
|
+
});
|
|
74
|
+
if (!rpcs?.size) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const logger = this.logger.for(this.registerRpcsFromRegistry.name);
|
|
78
|
+
for (const [methodName, rpcMetadata] of rpcs) {
|
|
79
|
+
const handler = this[methodName];
|
|
80
|
+
if (typeof handler !== 'function') {
|
|
81
|
+
logger.warn('RPC method "%s" not found on controller', String(methodName));
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const configs = this.getRouteConfigs({ configs: rpcMetadata });
|
|
85
|
+
this.bindRoute({ configs }).to({ handler: handler.bind(this) });
|
|
86
|
+
logger.debug('Registered RPC | name: %s | method: %s | type: %s', rpcMetadata.name, String(methodName), rpcMetadata.method);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/** Configures the controller by binding all RPCs, registering decorator-based RPCs, and mounting the adapter. Idempotent. */
|
|
90
|
+
async configure(opts) {
|
|
91
|
+
if (this.isConfigured) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const t = performance.now();
|
|
95
|
+
const logger = this.logger.for(this.configure.name);
|
|
96
|
+
logger.info('START | Binding gRPC controller | Options: %j', opts ?? {});
|
|
97
|
+
await this.binding();
|
|
98
|
+
this.registerRpcsFromRegistry();
|
|
99
|
+
// Create per-controller adapter middleware and mount on this.router
|
|
100
|
+
const adapter = await adapter_1.GrpcRequestAdapter.build({ controller: this });
|
|
101
|
+
this.router.use('*', adapter.middleware);
|
|
102
|
+
if (adapter.paths.length > 0) {
|
|
103
|
+
logger.debug('Adapter paths: %j', adapter.paths);
|
|
104
|
+
}
|
|
105
|
+
this.isConfigured = true;
|
|
106
|
+
logger.info('DONE | Binding gRPC controller | Took: %s (ms)', performance.now() - t);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.AbstractGrpcController = AbstractGrpcController;
|
|
110
|
+
//# sourceMappingURL=abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ConnectRouter } from '@connectrpc/connect';
|
|
2
|
+
import { Env, Schema } from 'hono';
|
|
3
|
+
import type { AbstractGrpcController } from './abstract';
|
|
4
|
+
import type { IConnectAdapterResult } from './common/types';
|
|
5
|
+
/**
|
|
6
|
+
* Bridges Ignis gRPC controllers with ConnectRPC's universal handler system.
|
|
7
|
+
*
|
|
8
|
+
* Uses AsyncLocalStorage for request-scoped Hono context isolation —
|
|
9
|
+
* concurrent requests never share or overwrite each other's context.
|
|
10
|
+
*
|
|
11
|
+
* Responsibilities:
|
|
12
|
+
* 1. Load ConnectRPC peer deps at startup via createRequire
|
|
13
|
+
* 2. Wrap Ignis handlers into ConnectRPC's expected signature
|
|
14
|
+
* 3. Produce a Hono middleware that dispatches requests to the correct handler
|
|
15
|
+
*/
|
|
16
|
+
export declare class GrpcRequestAdapter<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ServiceType = Parameters<ConnectRouter['service']>[0], ConfigurableOptions extends object = {}> {
|
|
17
|
+
private createConnectRouter;
|
|
18
|
+
private protocol;
|
|
19
|
+
private controller;
|
|
20
|
+
private interceptors?;
|
|
21
|
+
private constructor();
|
|
22
|
+
/** Wraps Ignis RPC registrations into ConnectRPC's (request, context) => response signature. */
|
|
23
|
+
private buildConnectHandlers;
|
|
24
|
+
/**
|
|
25
|
+
* Registers a service on a ConnectRouter with a loose signature.
|
|
26
|
+
* Ignis's ServiceType is opaque (unknown) while ConnectRPC expects DescService.
|
|
27
|
+
*/
|
|
28
|
+
private registerService;
|
|
29
|
+
/** Creates the Hono middleware that dispatches to ConnectRPC universal handlers. */
|
|
30
|
+
private buildMiddleware;
|
|
31
|
+
/** Validates peer deps, creates adapter, and returns paths + middleware. */
|
|
32
|
+
static build<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ServiceType = Parameters<ConnectRouter['service']>[0], ConfigurableOptions extends object = {}>(opts: {
|
|
33
|
+
controller: AbstractGrpcController<RouteEnv, RouteSchema, BasePath, ServiceType, ConfigurableOptions>;
|
|
34
|
+
interceptors?: unknown[];
|
|
35
|
+
}): Promise<IConnectAdapterResult<RouteEnv, BasePath>>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,qBAAqB,CAAC;AAOzE,OAAO,EAAE,GAAG,EAA4B,MAAM,EAAE,MAAM,MAAM,CAAC;AAK7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAoB,MAAM,gBAAgB,CAAC;AAS9E;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB,CAC7B,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,mBAAmB,SAAS,MAAM,GAAG,EAAE;IAEvC,OAAO,CAAC,mBAAmB,CAAoD;IAC/E,OAAO,CAAC,QAAQ,CAGd;IAEF,OAAO,CAAC,UAAU,CAMhB;IACF,OAAO,CAAC,YAAY,CAAC,CAAY;IAEjC,OAAO;IAyBP,gGAAgG;IAChG,OAAO,CAAC,oBAAoB;IA2B5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAQvB,oFAAoF;IACpF,OAAO,CAAC,eAAe;IA2DvB,4EAA4E;WAC/D,KAAK,CAChB,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACrD,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,IAAI,EAAE;QACN,UAAU,EAAE,sBAAsB,CAChC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,mBAAmB,CACpB,CAAC;QACF,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;KAC1B,GAAG,OAAO,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CAqDvD"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GrpcRequestAdapter = void 0;
|
|
7
|
+
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
8
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
9
|
+
const node_module_1 = require("node:module");
|
|
10
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
+
const CONNECT_RPC_MODULES = ['@connectrpc/connect'];
|
|
12
|
+
/**
|
|
13
|
+
* Bridges Ignis gRPC controllers with ConnectRPC's universal handler system.
|
|
14
|
+
*
|
|
15
|
+
* Uses AsyncLocalStorage for request-scoped Hono context isolation —
|
|
16
|
+
* concurrent requests never share or overwrite each other's context.
|
|
17
|
+
*
|
|
18
|
+
* Responsibilities:
|
|
19
|
+
* 1. Load ConnectRPC peer deps at startup via createRequire
|
|
20
|
+
* 2. Wrap Ignis handlers into ConnectRPC's expected signature
|
|
21
|
+
* 3. Produce a Hono middleware that dispatches requests to the correct handler
|
|
22
|
+
*/
|
|
23
|
+
class GrpcRequestAdapter {
|
|
24
|
+
constructor(opts) {
|
|
25
|
+
this.controller = opts.controller;
|
|
26
|
+
this.interceptors = opts.interceptors;
|
|
27
|
+
/** Resolves peer deps from the app's node_modules at runtime — required for single-file builds. */
|
|
28
|
+
const appRequire = (0, node_module_1.createRequire)(node_path_1.default.join(process.cwd(), 'node_modules'));
|
|
29
|
+
this.createConnectRouter = appRequire('@connectrpc/connect').createConnectRouter;
|
|
30
|
+
const proto = appRequire('@connectrpc/connect/protocol');
|
|
31
|
+
this.protocol = {
|
|
32
|
+
universalServerRequestFromFetch: proto.universalServerRequestFromFetch,
|
|
33
|
+
universalServerResponseToFetch: proto.universalServerResponseToFetch,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Wraps Ignis RPC registrations into ConnectRPC's (request, context) => response signature. */
|
|
37
|
+
buildConnectHandlers(opts) {
|
|
38
|
+
const handlers = {};
|
|
39
|
+
for (const name in opts.definitions) {
|
|
40
|
+
const { handler, middlewares } = opts.definitions[name];
|
|
41
|
+
handlers[name] = async (request, _connectContext) => {
|
|
42
|
+
const context = opts.storage.getStore();
|
|
43
|
+
if (!context) {
|
|
44
|
+
throw new Error(`[GrpcRequestAdapter] Missing Hono context for RPC "${name}"`);
|
|
45
|
+
}
|
|
46
|
+
// Run pre-built auth middlewares (built by AbstractGrpcController.buildRpcMiddlewares)
|
|
47
|
+
for (const mw of middlewares) {
|
|
48
|
+
await mw(context, async () => { });
|
|
49
|
+
}
|
|
50
|
+
return handler({ request, context });
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return handlers;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Registers a service on a ConnectRouter with a loose signature.
|
|
57
|
+
* Ignis's ServiceType is opaque (unknown) while ConnectRPC expects DescService.
|
|
58
|
+
*/
|
|
59
|
+
registerService(opts) {
|
|
60
|
+
const { router, handlers } = opts;
|
|
61
|
+
router.service(this.controller.service, handlers);
|
|
62
|
+
}
|
|
63
|
+
/** Creates the Hono middleware that dispatches to ConnectRPC universal handlers. */
|
|
64
|
+
buildMiddleware(opts) {
|
|
65
|
+
const { handlerMap, controllerPath, storage } = opts;
|
|
66
|
+
const { universalServerRequestFromFetch, universalServerResponseToFetch } = this.protocol;
|
|
67
|
+
return async (context, next) => {
|
|
68
|
+
let pathname = context.req.path;
|
|
69
|
+
// context.req.path returns the full original URL path (e.g., /v1/api/grpc/package.Service/Method).
|
|
70
|
+
// Strip basePath + controllerPath prefix to get the ConnectRPC handler path (e.g., /package.Service/Method).
|
|
71
|
+
if (controllerPath && pathname.startsWith(controllerPath)) {
|
|
72
|
+
pathname = pathname.slice(controllerPath.length) || '/';
|
|
73
|
+
}
|
|
74
|
+
const handler = handlerMap.get(pathname);
|
|
75
|
+
if (!handler) {
|
|
76
|
+
return next();
|
|
77
|
+
}
|
|
78
|
+
return storage.run(context, async () => {
|
|
79
|
+
try {
|
|
80
|
+
const body = await context.req.arrayBuffer();
|
|
81
|
+
const freshRequest = new Request(context.req.url, {
|
|
82
|
+
method: context.req.method,
|
|
83
|
+
headers: context.req.raw.headers,
|
|
84
|
+
body: body.byteLength > 0 ? body : undefined,
|
|
85
|
+
});
|
|
86
|
+
const uReq = universalServerRequestFromFetch(freshRequest, {});
|
|
87
|
+
const uRes = await handler(uReq);
|
|
88
|
+
return universalServerResponseToFetch(uRes);
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
const message = error instanceof Error ? error.message : 'Internal gRPC error';
|
|
92
|
+
// Preserve gRPC status code from ConnectError (duck-type check avoids peer dep coupling)
|
|
93
|
+
const code = typeof error?.code === 'number'
|
|
94
|
+
? error.code
|
|
95
|
+
: ignis_helpers_1.GRPC.ResultCodes.INTERNAL;
|
|
96
|
+
return new Response(JSON.stringify({ message, code }), {
|
|
97
|
+
status: code === ignis_helpers_1.GRPC.ResultCodes.OK
|
|
98
|
+
? ignis_helpers_1.HTTP.ResultCodes.RS_2.Ok
|
|
99
|
+
: ignis_helpers_1.HTTP.ResultCodes.RS_5.InternalServerError,
|
|
100
|
+
headers: {
|
|
101
|
+
[ignis_helpers_1.HTTP.Headers.CONTENT_TYPE]: ignis_helpers_1.HTTP.HeaderValues.APPLICATION_JSON,
|
|
102
|
+
[ignis_helpers_1.GRPC.Headers.GRPC_STATUS]: String(code),
|
|
103
|
+
[ignis_helpers_1.GRPC.Headers.GRPC_MESSAGE]: encodeURIComponent(message),
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/** Validates peer deps, creates adapter, and returns paths + middleware. */
|
|
111
|
+
static async build(opts) {
|
|
112
|
+
await (0, ignis_helpers_1.validateModule)({ modules: CONNECT_RPC_MODULES });
|
|
113
|
+
const adapter = new GrpcRequestAdapter(opts);
|
|
114
|
+
const routerOpts = {};
|
|
115
|
+
if (adapter.interceptors?.length) {
|
|
116
|
+
routerOpts.interceptors = adapter.interceptors;
|
|
117
|
+
}
|
|
118
|
+
const connectRouter = adapter.createConnectRouter(routerOpts);
|
|
119
|
+
// Per-controller async storage — each concurrent request gets its own isolated context.
|
|
120
|
+
const storage = new node_async_hooks_1.AsyncLocalStorage();
|
|
121
|
+
if (adapter.controller.service) {
|
|
122
|
+
adapter.registerService({
|
|
123
|
+
router: connectRouter,
|
|
124
|
+
handlers: adapter.buildConnectHandlers({
|
|
125
|
+
definitions: adapter.controller.definitions,
|
|
126
|
+
storage,
|
|
127
|
+
}),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
const handlerMap = new Map();
|
|
131
|
+
const paths = [];
|
|
132
|
+
for (const handler of connectRouter.handlers) {
|
|
133
|
+
handlerMap.set(handler.requestPath, handler);
|
|
134
|
+
paths.push(handler.requestPath);
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
paths,
|
|
138
|
+
middleware: adapter.buildMiddleware({
|
|
139
|
+
handlerMap,
|
|
140
|
+
// Compute full mount prefix: basePath + controllerPath
|
|
141
|
+
// context.req.path returns the original full URL, so we need to strip the full prefix.
|
|
142
|
+
controllerPath: [
|
|
143
|
+
adapter.controller.basePath.replace(/\/$/, ''),
|
|
144
|
+
adapter.controller.path,
|
|
145
|
+
].join(''),
|
|
146
|
+
storage,
|
|
147
|
+
}),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.GrpcRequestAdapter = GrpcRequestAdapter;
|
|
152
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IRpcMetadata } from '../../../helpers/inversion/common/types';
|
|
2
|
+
import { Env, Schema } from 'hono';
|
|
3
|
+
import { AbstractGrpcController } from './abstract';
|
|
4
|
+
import { IGrpcBindRouteOptions, IGrpcDefineRouteOptions, TRpcHandler } from './common/types';
|
|
5
|
+
/** Recommended base class for gRPC controllers with concrete bindRoute and defineRoute implementations. */
|
|
6
|
+
export declare abstract class BaseGrpcController<RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/', ServiceType = unknown, ConfigurableOptions extends object = {}> extends AbstractGrpcController<RouteEnv, RouteSchema, BasePath, ServiceType, ConfigurableOptions> {
|
|
7
|
+
/** Creates a fluent binding for registering an RPC (call .to() to attach handler). */
|
|
8
|
+
bindRoute(opts: {
|
|
9
|
+
configs: IRpcMetadata;
|
|
10
|
+
}): IGrpcBindRouteOptions<RouteEnv>;
|
|
11
|
+
/** Defines and registers an RPC with its handler in a single call. */
|
|
12
|
+
defineRoute(opts: {
|
|
13
|
+
configs: IRpcMetadata;
|
|
14
|
+
handler: TRpcHandler<unknown, unknown, RouteEnv>;
|
|
15
|
+
}): IGrpcDefineRouteOptions;
|
|
16
|
+
/** Internal: validates and stores handler + configs in definitions. Throws on non-unary methods. */
|
|
17
|
+
private registerRoute;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7F,2GAA2G;AAC3G,8BAAsB,kBAAkB,CACtC,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,WAAW,SAAS,MAAM,GAAG,EAAE,EAC/B,QAAQ,SAAS,MAAM,GAAG,GAAG,EAC7B,WAAW,GAAG,OAAO,EACrB,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACvC,SAAQ,sBAAsB,CAC9B,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,mBAAmB,CACpB;IACC,sFAAsF;IACtF,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IAY3E,sEAAsE;IACtE,WAAW,CAAC,IAAI,EAAE;QAChB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAClD,GAAG,uBAAuB;IAM3B,oGAAoG;IACpG,OAAO,CAAC,aAAa;CAqBtB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseGrpcController = void 0;
|
|
4
|
+
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
5
|
+
const abstract_1 = require("./abstract");
|
|
6
|
+
/** Recommended base class for gRPC controllers with concrete bindRoute and defineRoute implementations. */
|
|
7
|
+
class BaseGrpcController extends abstract_1.AbstractGrpcController {
|
|
8
|
+
/** Creates a fluent binding for registering an RPC (call .to() to attach handler). */
|
|
9
|
+
bindRoute(opts) {
|
|
10
|
+
const configs = this.getRouteConfigs({ configs: opts.configs });
|
|
11
|
+
return {
|
|
12
|
+
configs,
|
|
13
|
+
to: ({ handler }) => {
|
|
14
|
+
this.registerRoute({ configs, handler });
|
|
15
|
+
return { configs };
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** Defines and registers an RPC with its handler in a single call. */
|
|
20
|
+
defineRoute(opts) {
|
|
21
|
+
const configs = this.getRouteConfigs({ configs: opts.configs });
|
|
22
|
+
this.registerRoute({ configs, handler: opts.handler });
|
|
23
|
+
return { configs };
|
|
24
|
+
}
|
|
25
|
+
/** Internal: validates and stores handler + configs in definitions. Throws on non-unary methods. */
|
|
26
|
+
registerRoute(opts) {
|
|
27
|
+
const { configs, handler } = opts;
|
|
28
|
+
const logger = this.logger.for('registerRoute');
|
|
29
|
+
if (configs.method !== ignis_helpers_1.GRPC.Methods.UNARY) {
|
|
30
|
+
throw (0, ignis_helpers_1.getError)({
|
|
31
|
+
message: `[${this.constructor.name}] RPC method "${configs.name}" uses "${configs.method}" which is not supported. Only unary RPCs are supported in the current version (HTTP/1.1 Connect protocol).`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (this.definitions[configs.name]) {
|
|
35
|
+
logger.warn('Overwriting RPC handler | name: %s', configs.name);
|
|
36
|
+
}
|
|
37
|
+
const middlewares = this.buildRpcMiddlewares({ configs });
|
|
38
|
+
this.definitions[configs.name] = { configs, handler, middlewares };
|
|
39
|
+
logger.debug('Registered RPC | name: %s | method: %s', configs.name, configs.method);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.BaseGrpcController = BaseGrpcController;
|
|
43
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/base/controllers/grpc/base.ts"],"names":[],"mappings":";;;AACA,0DAAwD;AAExD,yCAAoD;AAGpD,2GAA2G;AAC3G,MAAsB,kBAMpB,SAAQ,iCAMT;IACC,sFAAsF;IACtF,SAAS,CAAC,IAA+B;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO;YACP,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzC,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,WAAW,CAAC,IAGX;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,oGAAoG;IAC5F,aAAa,CAAC,IAGrB;QACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,MAAM,KAAK,oBAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,MAAM,6GAA6G;aACtM,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,CAAC;CACF;AA1DD,gDA0DC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/base/controllers/grpc/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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("./types"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|