@open-rlb/nestjs-amqp 2.0.3 → 2.0.5
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/README.md +4 -2
- package/amqp-lib/config/rabbitmq.config.d.ts +6 -0
- package/modules/acl/const.d.ts +1 -4
- package/modules/acl/const.js +1 -4
- package/modules/acl/const.js.map +1 -1
- package/modules/acl/models.d.ts +5 -7
- package/modules/acl/repository/acl-action.repository.d.ts +1 -5
- package/modules/acl/repository/acl-action.repository.js.map +1 -1
- package/modules/acl/repository/acl-grant.repository.d.ts +0 -1
- package/modules/acl/repository/acl-grant.repository.js.map +1 -1
- package/modules/acl/repository/acl-role.repository.d.ts +1 -5
- package/modules/acl/repository/acl-role.repository.js.map +1 -1
- package/modules/acl/services/acl-management.service.d.ts +6 -7
- package/modules/acl/services/acl-management.service.js +44 -61
- package/modules/acl/services/acl-management.service.js.map +1 -1
- package/modules/acl/services/acl.service.d.ts +1 -3
- package/modules/acl/services/acl.service.js +5 -47
- package/modules/acl/services/acl.service.js.map +1 -1
- package/modules/broker/broker.module.d.ts +2 -4
- package/modules/broker/broker.module.js +23 -5
- package/modules/broker/broker.module.js.map +1 -1
- package/modules/broker/config/route-discovery.config.d.ts +2 -0
- package/modules/broker/const.d.ts +1 -0
- package/modules/broker/const.js +2 -1
- package/modules/broker/const.js.map +1 -1
- package/modules/broker/services/broker.service.js +1 -1
- package/modules/broker/services/broker.service.js.map +1 -1
- package/modules/broker/services/route-discovery-publisher.service.js +7 -5
- package/modules/broker/services/route-discovery-publisher.service.js.map +1 -1
- package/modules/gateway-admin/config/gateway-admin.config.d.ts +4 -0
- package/modules/gateway-admin/const.d.ts +1 -1
- package/modules/gateway-admin/const.js +1 -1
- package/modules/gateway-admin/const.js.map +1 -1
- package/modules/gateway-admin/gateway-admin.module.d.ts +7 -1
- package/modules/gateway-admin/gateway-admin.module.js +13 -0
- package/modules/gateway-admin/gateway-admin.module.js.map +1 -1
- package/modules/gateway-admin/repository/auth-provider.repository.d.ts +3 -4
- package/modules/gateway-admin/repository/auth-provider.repository.js.map +1 -1
- package/modules/gateway-admin/services/gateway-auth.service.d.ts +3 -4
- package/modules/gateway-admin/services/gateway-auth.service.js +15 -23
- package/modules/gateway-admin/services/gateway-auth.service.js.map +1 -1
- package/modules/gateway-admin/services/gateway-metrics.service.d.ts +3 -0
- package/modules/gateway-admin/services/gateway-metrics.service.js +9 -0
- package/modules/gateway-admin/services/gateway-metrics.service.js.map +1 -1
- package/modules/gateway-admin/services/route-sync.service.d.ts +3 -1
- package/modules/gateway-admin/services/route-sync.service.js +14 -8
- package/modules/gateway-admin/services/route-sync.service.js.map +1 -1
- package/modules/proxy/services/http-handler.service.d.ts +3 -0
- package/modules/proxy/services/http-handler.service.js +28 -4
- package/modules/proxy/services/http-handler.service.js.map +1 -1
- package/package.json +5 -1
- package/schematics/nest-add/files/acl/src/cache/in-memory-acl-store.ts +54 -0
- package/schematics/nest-add/files/acl/src/modules/database/repository/acl.repository.ts +74 -0
- package/schematics/nest-add/files/db-core/src/modules/database/repository/in-memory-collection.ts +122 -0
- package/schematics/nest-add/files/gateway-admin/src/modules/database/repository/gateway.repository.ts +151 -0
- package/schematics/nest-add/files/gateway-admin/src/modules/database/repository/route-sync.repository.ts +15 -0
- package/schematics/nest-add/files/skills/rlb-amqp/SKILL.md +30 -5
- package/schematics/nest-add/files/skills/rlb-amqp/references/config-schema.md +182 -93
- package/schematics/nest-add/files/skills/rlb-amqp/references/gotchas.md +120 -79
- package/schematics/nest-add/files/skills/rlb-amqp-acl/SKILL.md +185 -0
- package/schematics/nest-add/files/skills/rlb-amqp-add-action/SKILL.md +49 -2
- package/schematics/nest-add/files/skills/rlb-amqp-add-route/SKILL.md +82 -19
- package/schematics/nest-add/files/skills/rlb-amqp-add-ws-event/SKILL.md +40 -18
- package/schematics/nest-add/files/skills/rlb-amqp-gateway-admin/SKILL.md +233 -0
- package/schematics/nest-add/files/skills/rlb-amqp-scaffold/SKILL.md +172 -42
- package/schematics/nest-add/index.js +612 -142
- package/schematics/nest-add/index.js.map +1 -1
- package/schematics/nest-add/index.ts +673 -241
- package/schematics/nest-add/init.schema.d.ts +10 -1
- package/schematics/nest-add/init.schema.ts +29 -3
- package/schematics/nest-add/schema.json +37 -8
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Path } from '@angular-devkit/core';
|
|
2
2
|
export interface InitOptions {
|
|
3
3
|
name?: string;
|
|
4
|
+
project?: string;
|
|
4
5
|
path?: string;
|
|
5
6
|
module?: Path;
|
|
6
7
|
skipImport?: boolean;
|
|
@@ -12,6 +13,14 @@ export interface InitOptions {
|
|
|
12
13
|
specFileSuffix?: string;
|
|
13
14
|
flat?: boolean;
|
|
14
15
|
prefix?: string;
|
|
15
|
-
|
|
16
|
+
gatewayConfig?: boolean;
|
|
17
|
+
features?: string[];
|
|
18
|
+
exchange?: string;
|
|
19
|
+
aclQueue?: string;
|
|
20
|
+
adminQueue?: string;
|
|
21
|
+
controlTopic?: string;
|
|
22
|
+
routeExchange?: string;
|
|
23
|
+
routeQueue?: string;
|
|
24
|
+
serviceName?: string;
|
|
16
25
|
skills?: boolean;
|
|
17
26
|
}
|
|
@@ -5,6 +5,10 @@ export interface InitOptions {
|
|
|
5
5
|
* The name of the service.
|
|
6
6
|
*/
|
|
7
7
|
name?: string;
|
|
8
|
+
/**
|
|
9
|
+
* The name of the project (from the workspace).
|
|
10
|
+
*/
|
|
11
|
+
project?: string;
|
|
8
12
|
/**
|
|
9
13
|
* The path to create the service.
|
|
10
14
|
*/
|
|
@@ -50,10 +54,32 @@ export interface InitOptions {
|
|
|
50
54
|
prefix?: string;
|
|
51
55
|
|
|
52
56
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
57
|
+
* Create a gateway (HTTP/WebSocket) configuration: wire ProxyModule/HttpModule, the WebSocket
|
|
58
|
+
* adapter in main.ts and the `gateway:` section in config.yaml. When omitted it is prompted
|
|
59
|
+
* interactively; non-interactive runs default to false (a plain AMQP microservice).
|
|
60
|
+
*/
|
|
61
|
+
gatewayConfig?: boolean;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Features to include. With gatewayConfig=true: 'acl', 'gateway-admin', 'route-reception'.
|
|
65
|
+
* With gatewayConfig=false: 'auto-config-publish'. Prompted interactively when omitted.
|
|
55
66
|
*/
|
|
56
|
-
|
|
67
|
+
features?: string[];
|
|
68
|
+
|
|
69
|
+
/** Main AMQP exchange backing the ACL / gateway-admin queues. Default: 'rlb'. */
|
|
70
|
+
exchange?: string;
|
|
71
|
+
/** Queue backing the (fixed) rlb-acl topic. Default: 'rlb-acl'. */
|
|
72
|
+
aclQueue?: string;
|
|
73
|
+
/** Queue backing the (fixed) rlb-gateway-admin topic. Default: 'rlb-gateway-admin'. */
|
|
74
|
+
adminQueue?: string;
|
|
75
|
+
/** Broadcast control/reload topic name. Default: 'rlb-gateway-control'. */
|
|
76
|
+
controlTopic?: string;
|
|
77
|
+
/** Route auto-discovery fanout exchange (must match publisher + gateway). Default: 'rlb-route-discovery'. */
|
|
78
|
+
routeExchange?: string;
|
|
79
|
+
/** Route-sync durable queue (gateway consumer side). Default: 'rlb-route-sync'. */
|
|
80
|
+
routeQueue?: string;
|
|
81
|
+
/** Service name for route auto-publish (route ownership + connection_name). Default: project name. */
|
|
82
|
+
serviceName?: string;
|
|
57
83
|
|
|
58
84
|
/**
|
|
59
85
|
* Copy the Claude skill files into .claude/skills. Defaults to true.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/schema",
|
|
3
|
-
"$id": "
|
|
3
|
+
"$id": "SchematicsNestAddRlbAmqp",
|
|
4
4
|
"title": "Init Schema",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
@@ -17,17 +17,46 @@
|
|
|
17
17
|
"$source": "projectName"
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
|
-
"
|
|
20
|
+
"gatewayConfig": {
|
|
21
21
|
"type": "boolean",
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
"description": "Create a gateway (HTTP/WebSocket) configuration. Prompted interactively when omitted; defaults to false (a plain microservice) in non-interactive runs."
|
|
23
|
+
},
|
|
24
|
+
"features": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"items": { "type": "string" },
|
|
27
|
+
"description": "Features to include. Gateway (gatewayConfig=true): acl, gateway-admin, route-reception. Microservice (gatewayConfig=false): auto-config-publish. Prompted interactively when omitted."
|
|
28
|
+
},
|
|
29
|
+
"exchange": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Main AMQP exchange backing the ACL / gateway-admin queues. Default: rlb."
|
|
32
|
+
},
|
|
33
|
+
"aclQueue": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Queue backing the (fixed) rlb-acl topic. Default: rlb-acl."
|
|
36
|
+
},
|
|
37
|
+
"adminQueue": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Queue backing the (fixed) rlb-gateway-admin topic. Default: rlb-gateway-admin."
|
|
40
|
+
},
|
|
41
|
+
"controlTopic": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Broadcast control/reload topic name. Default: rlb-gateway-control."
|
|
44
|
+
},
|
|
45
|
+
"routeExchange": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Route auto-discovery fanout exchange (must match between publisher and gateway). Default: rlb-route-discovery."
|
|
48
|
+
},
|
|
49
|
+
"routeQueue": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "Route-sync durable queue (gateway consumer side). Default: rlb-route-sync."
|
|
52
|
+
},
|
|
53
|
+
"serviceName": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "Service name used for route auto-publish (route ownership + AMQP connection_name). Default: the project name."
|
|
25
56
|
},
|
|
26
57
|
"skills": {
|
|
27
58
|
"type": "boolean",
|
|
28
|
-
"
|
|
29
|
-
"description": "Copy the Claude skill files into .claude/skills.",
|
|
30
|
-
"x-prompt": "Copy the Claude skills into the project?"
|
|
59
|
+
"description": "Copy the Claude skill files into .claude/skills. Prompted when omitted; defaults to true."
|
|
31
60
|
}
|
|
32
61
|
}
|
|
33
62
|
}
|