@open-rlb/nestjs-amqp 1.0.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 (136) hide show
  1. package/README.md +300 -0
  2. package/amqp-lib/amqp/connection.d.ts +51 -0
  3. package/amqp-lib/amqp/connection.js +503 -0
  4. package/amqp-lib/amqp/connection.js.map +1 -0
  5. package/amqp-lib/amqp/errorBehaviors.d.ts +9 -0
  6. package/amqp-lib/amqp/errorBehaviors.js +47 -0
  7. package/amqp-lib/amqp/errorBehaviors.js.map +1 -0
  8. package/amqp-lib/amqp/utils.d.ts +7 -0
  9. package/amqp-lib/amqp/utils.js +110 -0
  10. package/amqp-lib/amqp/utils.js.map +1 -0
  11. package/amqp-lib/config/rabbitmq-exchange.config.d.ts +13 -0
  12. package/amqp-lib/config/rabbitmq-exchange.config.js +3 -0
  13. package/amqp-lib/config/rabbitmq-exchange.config.js.map +1 -0
  14. package/amqp-lib/config/rabbitmq-queue.config.d.ts +25 -0
  15. package/amqp-lib/config/rabbitmq-queue.config.js +3 -0
  16. package/amqp-lib/config/rabbitmq-queue.config.js.map +1 -0
  17. package/amqp-lib/config/rabbitmq.config.d.ts +49 -0
  18. package/amqp-lib/config/rabbitmq.config.js +3 -0
  19. package/amqp-lib/config/rabbitmq.config.js.map +1 -0
  20. package/amqp-lib/index.d.ts +4 -0
  21. package/amqp-lib/index.js +21 -0
  22. package/amqp-lib/index.js.map +1 -0
  23. package/amqp-lib/models/correlation-message.model.d.ts +5 -0
  24. package/amqp-lib/models/correlation-message.model.js +3 -0
  25. package/amqp-lib/models/correlation-message.model.js.map +1 -0
  26. package/amqp-lib/models/errors.model.d.ts +15 -0
  27. package/amqp-lib/models/errors.model.js +35 -0
  28. package/amqp-lib/models/errors.model.js.map +1 -0
  29. package/amqp-lib/models/nack.model.d.ts +5 -0
  30. package/amqp-lib/models/nack.model.js +13 -0
  31. package/amqp-lib/models/nack.model.js.map +1 -0
  32. package/amqp-lib/models/rabbitmq-handler.model.d.ts +38 -0
  33. package/amqp-lib/models/rabbitmq-handler.model.js +3 -0
  34. package/amqp-lib/models/rabbitmq-handler.model.js.map +1 -0
  35. package/amqp-lib/models/subscription-result.model.d.ts +4 -0
  36. package/amqp-lib/models/subscription-result.model.js +3 -0
  37. package/amqp-lib/models/subscription-result.model.js.map +1 -0
  38. package/amqp-lib/types.d.ts +45 -0
  39. package/amqp-lib/types.js +11 -0
  40. package/amqp-lib/types.js.map +1 -0
  41. package/amqp.module.d.ts +2 -0
  42. package/amqp.module.js +29 -0
  43. package/amqp.module.js.map +1 -0
  44. package/index.d.ts +4 -0
  45. package/index.js +21 -0
  46. package/index.js.map +1 -0
  47. package/modules/broker/broker.module.d.ts +27 -0
  48. package/modules/broker/broker.module.js +132 -0
  49. package/modules/broker/broker.module.js.map +1 -0
  50. package/modules/broker/config/broker.config.d.ts +3 -0
  51. package/modules/broker/config/broker.config.js +3 -0
  52. package/modules/broker/config/broker.config.js.map +1 -0
  53. package/modules/broker/config/handler-auth.config.d.ts +22 -0
  54. package/modules/broker/config/handler-auth.config.js +3 -0
  55. package/modules/broker/config/handler-auth.config.js.map +1 -0
  56. package/modules/broker/config/topics.config.d.ts +8 -0
  57. package/modules/broker/config/topics.config.js +3 -0
  58. package/modules/broker/config/topics.config.js.map +1 -0
  59. package/modules/broker/const.d.ts +9 -0
  60. package/modules/broker/const.js +13 -0
  61. package/modules/broker/const.js.map +1 -0
  62. package/modules/broker/data/events/messages.d.ts +29 -0
  63. package/modules/broker/data/events/messages.js +3 -0
  64. package/modules/broker/data/events/messages.js.map +1 -0
  65. package/modules/broker/decorators/broker-action.decorator.d.ts +8 -0
  66. package/modules/broker/decorators/broker-action.decorator.js +66 -0
  67. package/modules/broker/decorators/broker-action.decorator.js.map +1 -0
  68. package/modules/broker/decorators/index.d.ts +1 -0
  69. package/modules/broker/decorators/index.js +18 -0
  70. package/modules/broker/decorators/index.js.map +1 -0
  71. package/modules/broker/index.d.ts +9 -0
  72. package/modules/broker/index.js +26 -0
  73. package/modules/broker/index.js.map +1 -0
  74. package/modules/broker/pipes/boolean.pipe.d.ts +4 -0
  75. package/modules/broker/pipes/boolean.pipe.js +23 -0
  76. package/modules/broker/pipes/boolean.pipe.js.map +1 -0
  77. package/modules/broker/pipes/index.d.ts +2 -0
  78. package/modules/broker/pipes/index.js +19 -0
  79. package/modules/broker/pipes/index.js.map +1 -0
  80. package/modules/broker/pipes/number.pipe.d.ts +4 -0
  81. package/modules/broker/pipes/number.pipe.js +10 -0
  82. package/modules/broker/pipes/number.pipe.js.map +1 -0
  83. package/modules/broker/services/auto-discovery.service.d.ts +6 -0
  84. package/modules/broker/services/auto-discovery.service.js +28 -0
  85. package/modules/broker/services/auto-discovery.service.js.map +1 -0
  86. package/modules/broker/services/broker.service.d.ts +31 -0
  87. package/modules/broker/services/broker.service.js +323 -0
  88. package/modules/broker/services/broker.service.js.map +1 -0
  89. package/modules/broker/services/handler-registry.service.d.ts +12 -0
  90. package/modules/broker/services/handler-registry.service.js +58 -0
  91. package/modules/broker/services/handler-registry.service.js.map +1 -0
  92. package/modules/broker/services/metadata-scanner.service.d.ts +23 -0
  93. package/modules/broker/services/metadata-scanner.service.js +238 -0
  94. package/modules/broker/services/metadata-scanner.service.js.map +1 -0
  95. package/modules/broker/services/reflect.service.d.ts +22 -0
  96. package/modules/broker/services/reflect.service.js +195 -0
  97. package/modules/broker/services/reflect.service.js.map +1 -0
  98. package/modules/broker/services/utils.service.d.ts +8 -0
  99. package/modules/broker/services/utils.service.js +28 -0
  100. package/modules/broker/services/utils.service.js.map +1 -0
  101. package/modules/proxy/config/path-definition.config.d.ts +51 -0
  102. package/modules/proxy/config/path-definition.config.js +3 -0
  103. package/modules/proxy/config/path-definition.config.js.map +1 -0
  104. package/modules/proxy/index.d.ts +7 -0
  105. package/modules/proxy/index.js +20 -0
  106. package/modules/proxy/index.js.map +1 -0
  107. package/modules/proxy/proxy.module.d.ts +4 -0
  108. package/modules/proxy/proxy.module.js +38 -0
  109. package/modules/proxy/proxy.module.js.map +1 -0
  110. package/modules/proxy/services/acl.service.d.ts +4 -0
  111. package/modules/proxy/services/acl.service.js +5 -0
  112. package/modules/proxy/services/acl.service.js.map +1 -0
  113. package/modules/proxy/services/http-auth-handler.service.d.ts +19 -0
  114. package/modules/proxy/services/http-auth-handler.service.js +146 -0
  115. package/modules/proxy/services/http-auth-handler.service.js.map +1 -0
  116. package/modules/proxy/services/http-handler.service.d.ts +21 -0
  117. package/modules/proxy/services/http-handler.service.js +210 -0
  118. package/modules/proxy/services/http-handler.service.js.map +1 -0
  119. package/modules/proxy/services/jwt.service.d.ts +12 -0
  120. package/modules/proxy/services/jwt.service.js +107 -0
  121. package/modules/proxy/services/jwt.service.js.map +1 -0
  122. package/modules/proxy/services/websocket.service.d.ts +21 -0
  123. package/modules/proxy/services/websocket.service.js +180 -0
  124. package/modules/proxy/services/websocket.service.js.map +1 -0
  125. package/modules/remote-config/index.d.ts +2 -0
  126. package/modules/remote-config/index.js +19 -0
  127. package/modules/remote-config/index.js.map +1 -0
  128. package/modules/remote-config/remote-config.module.d.ts +2 -0
  129. package/modules/remote-config/remote-config.module.js +22 -0
  130. package/modules/remote-config/remote-config.module.js.map +1 -0
  131. package/modules/remote-config/remote-config.service.d.ts +12 -0
  132. package/modules/remote-config/remote-config.service.js +68 -0
  133. package/modules/remote-config/remote-config.service.js.map +1 -0
  134. package/open-rlb-amqp.schema.json +1297 -0
  135. package/package.json +88 -0
  136. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var _a;
9
+ var BrokerModule_1;
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.BrokerModule = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
12
+ const common_1 = require("@nestjs/common");
13
+ const amqp_lib_1 = require("@open-rlb/nestjs-amqp/amqp-lib");
14
+ const const_1 = require("./const");
15
+ const auto_discovery_service_1 = require("./services/auto-discovery.service");
16
+ const broker_service_1 = require("./services/broker.service");
17
+ const handler_registry_service_1 = require("./services/handler-registry.service");
18
+ const metadata_scanner_service_1 = require("./services/metadata-scanner.service");
19
+ const utils_service_1 = require("./services/utils.service");
20
+ _a = new common_1.ConfigurableModuleBuilder().setClassMethodName('forRoot').build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
21
+ let BrokerModule = BrokerModule_1 = class BrokerModule {
22
+ static forRoot(options, topics, appOptions, authOptions, gatewayOptions) {
23
+ if (!options) {
24
+ throw new Error('RabbitMQConfig is required');
25
+ }
26
+ if (!topics) {
27
+ throw new Error('At least one topic is required');
28
+ }
29
+ const amqpOptionsProvider = { provide: const_1.RLB_AMQP_BROKER_OPTIONS, useValue: options };
30
+ const topicOptionsProvider = { provide: const_1.RLB_AMQP_TOPIC_CONNECTION, useValue: topics };
31
+ const appOptionsProvider = { provide: const_1.RLB_AMQP_APP_OPTIONS, useValue: appOptions };
32
+ const authOptionsProvider = { provide: const_1.RLB_AMQP_AUTH_OPTIONS, useValue: authOptions };
33
+ const gatewayOptionsProvider = { provide: const_1.RLB_AMQP_GATEWAY_OPTIONS, useValue: gatewayOptions };
34
+ return {
35
+ module: BrokerModule_1,
36
+ providers: [
37
+ amqpOptionsProvider,
38
+ topicOptionsProvider,
39
+ appOptionsProvider,
40
+ authOptionsProvider,
41
+ gatewayOptionsProvider
42
+ ],
43
+ exports: [
44
+ amqpOptionsProvider,
45
+ topicOptionsProvider,
46
+ appOptionsProvider,
47
+ authOptionsProvider,
48
+ gatewayOptionsProvider
49
+ ],
50
+ };
51
+ }
52
+ static forRootAsync(asyncOptions) {
53
+ const amqpOptionsProvider = {
54
+ provide: const_1.RLB_AMQP_BROKER_OPTIONS,
55
+ useFactory: async (...args) => {
56
+ const result = await asyncOptions.useFactory(...args);
57
+ return result.options;
58
+ },
59
+ inject: asyncOptions.inject || [],
60
+ };
61
+ const topicOptionsProvider = {
62
+ provide: const_1.RLB_AMQP_TOPIC_CONNECTION,
63
+ useFactory: async (...args) => {
64
+ const result = await asyncOptions.useFactory(...args);
65
+ return result.topics;
66
+ },
67
+ inject: asyncOptions.inject || [],
68
+ };
69
+ const appOptionsProvider = {
70
+ provide: const_1.RLB_AMQP_APP_OPTIONS,
71
+ useFactory: async (...args) => {
72
+ const result = await asyncOptions.useFactory(...args);
73
+ return result.appOptions;
74
+ },
75
+ inject: asyncOptions.inject || [],
76
+ };
77
+ const authOptionsProvider = {
78
+ provide: const_1.RLB_AMQP_AUTH_OPTIONS,
79
+ useFactory: async (...args) => {
80
+ const result = await asyncOptions.useFactory(...args);
81
+ return result.authOptions;
82
+ },
83
+ inject: asyncOptions.inject || [],
84
+ };
85
+ const gatewayOptionsProvider = {
86
+ provide: const_1.RLB_AMQP_GATEWAY_OPTIONS,
87
+ useFactory: async (...args) => {
88
+ const result = await asyncOptions.useFactory(...args);
89
+ return result.gatewayOptions;
90
+ },
91
+ inject: asyncOptions.inject || [],
92
+ };
93
+ return {
94
+ module: BrokerModule_1,
95
+ providers: [
96
+ amqpOptionsProvider,
97
+ topicOptionsProvider,
98
+ appOptionsProvider,
99
+ authOptionsProvider,
100
+ gatewayOptionsProvider,
101
+ ],
102
+ exports: [
103
+ amqpOptionsProvider,
104
+ topicOptionsProvider,
105
+ appOptionsProvider,
106
+ authOptionsProvider,
107
+ gatewayOptionsProvider,
108
+ ],
109
+ };
110
+ }
111
+ };
112
+ exports.BrokerModule = BrokerModule;
113
+ exports.BrokerModule = BrokerModule = BrokerModule_1 = __decorate([
114
+ (0, common_1.Global)(),
115
+ (0, common_1.Module)({
116
+ providers: [
117
+ amqp_lib_1.AmqpConnection,
118
+ broker_service_1.BrokerService,
119
+ handler_registry_service_1.HandlerRegistryService,
120
+ metadata_scanner_service_1.MetadataScannerService,
121
+ auto_discovery_service_1.AutoDiscoveryService,
122
+ utils_service_1.UtilsService
123
+ ],
124
+ exports: [
125
+ amqp_lib_1.AmqpConnection,
126
+ utils_service_1.UtilsService,
127
+ broker_service_1.BrokerService,
128
+ auto_discovery_service_1.AutoDiscoveryService,
129
+ ],
130
+ })
131
+ ], BrokerModule);
132
+ //# sourceMappingURL=broker.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.module.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/broker/broker.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { RabbitMQConfig } from '../../../amqp-lib/config/rabbitmq.config';
2
+ export interface BrokerConfig extends RabbitMQConfig {
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=broker.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.config.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/config/broker.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export interface AuthConfig {
2
+ issuer: string;
3
+ audience?: string;
4
+ algorithms?: string[];
5
+ secret?: string;
6
+ jwksUri?: string;
7
+ httpsAllowUnauthorized?: boolean;
8
+ clientSecret?: string;
9
+ clientId?: string;
10
+ scopes?: string[];
11
+ tokenUrl?: string;
12
+ }
13
+ export interface HandlerAuthConfig extends AuthConfig {
14
+ name: string;
15
+ type: 'jwt' | 'jwks' | 'basic' | 'str-compare' | 'none';
16
+ usernameClaim: string;
17
+ uidClaim: string;
18
+ aclTopic: string;
19
+ aclAction: string;
20
+ jwtMap?: string[];
21
+ headerPrefix: string;
22
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=handler-auth.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-auth.config.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/config/handler-auth.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export interface BrokerTopic {
2
+ name: string;
3
+ mode: 'rpc' | 'event' | 'broadcast' | 'handle';
4
+ toObservable?: boolean;
5
+ queue?: string;
6
+ routingKey?: string;
7
+ exchange?: string;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=topics.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.config.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/config/topics.config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export declare const RLB_AMQP_BROKER_OPTIONS = "RLB_AMQP_BROKER_OPTIONS";
2
+ export declare const RLB_AMQP_TOPIC_CONNECTION = "RLB_AMQP_TOPIC_CONNECTION";
3
+ export declare const RLB_AMQP_APP_OPTIONS = "RLB_AMQP_APP_OPTIONS";
4
+ export declare const RLB_AMQP_AUTH_OPTIONS = "RLB_AMQP_AUTH_OPTIONS";
5
+ export declare const RLB_AMQP_GATEWAY_OPTIONS = "RLB_AMQP_GATEWAY_OPTIONS";
6
+ export declare const RLB_BROKER_METHOD_METADATA_KEY = "rlb-broker:method";
7
+ export declare const RLB_BROKER_HTTP_METADATA_KEY = "rlb-broker:http";
8
+ export declare const RLB_BROKER_AUTH_METADATA_KEY = "rlb-broker:auth";
9
+ export declare const RLB_BROKER_PARAM_METADATA_KEY = "rlb-broker:param";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RLB_BROKER_PARAM_METADATA_KEY = exports.RLB_BROKER_AUTH_METADATA_KEY = exports.RLB_BROKER_HTTP_METADATA_KEY = exports.RLB_BROKER_METHOD_METADATA_KEY = exports.RLB_AMQP_GATEWAY_OPTIONS = exports.RLB_AMQP_AUTH_OPTIONS = exports.RLB_AMQP_APP_OPTIONS = exports.RLB_AMQP_TOPIC_CONNECTION = exports.RLB_AMQP_BROKER_OPTIONS = void 0;
4
+ exports.RLB_AMQP_BROKER_OPTIONS = 'RLB_AMQP_BROKER_OPTIONS';
5
+ exports.RLB_AMQP_TOPIC_CONNECTION = 'RLB_AMQP_TOPIC_CONNECTION';
6
+ exports.RLB_AMQP_APP_OPTIONS = 'RLB_AMQP_APP_OPTIONS';
7
+ exports.RLB_AMQP_AUTH_OPTIONS = 'RLB_AMQP_AUTH_OPTIONS';
8
+ exports.RLB_AMQP_GATEWAY_OPTIONS = 'RLB_AMQP_GATEWAY_OPTIONS';
9
+ exports.RLB_BROKER_METHOD_METADATA_KEY = 'rlb-broker:method';
10
+ exports.RLB_BROKER_HTTP_METADATA_KEY = 'rlb-broker:http';
11
+ exports.RLB_BROKER_AUTH_METADATA_KEY = 'rlb-broker:auth';
12
+ exports.RLB_BROKER_PARAM_METADATA_KEY = 'rlb-broker:param';
13
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/broker/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAChD,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AACtD,QAAA,8BAA8B,GAAG,mBAAmB,CAAC;AACrD,QAAA,4BAA4B,GAAG,iBAAiB,CAAC;AACjD,QAAA,4BAA4B,GAAG,iBAAiB,CAAC;AACjD,QAAA,6BAA6B,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { Observable } from "rxjs";
2
+ export interface BrokerEvent<Payload = any> {
3
+ topic: string;
4
+ payload: Payload;
5
+ action: string;
6
+ source: {
7
+ exchange: string;
8
+ routingKey: string;
9
+ tag: string;
10
+ };
11
+ headers: {
12
+ [key: string]: any;
13
+ };
14
+ raw: Buffer;
15
+ }
16
+ export type ActionPayload<Payload = any> = {
17
+ action: string;
18
+ payload: Payload;
19
+ };
20
+ export type TopicEventHandler<Payload = any> = (event: BrokerEvent<Payload>) => void | Promise<void> | Observable<void>;
21
+ export type RpcEventHandler<Payload = any, Response = any> = (event: BrokerEvent<Payload>) => Response | Promise<Response> | Observable<Response>;
22
+ export type MangedFunctionExecutor<Payload = any> = {
23
+ success: boolean;
24
+ payload?: Payload;
25
+ error?: {
26
+ name: string;
27
+ message: string;
28
+ };
29
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../libs/rlb-nestjs-amqp/src/modules/broker/data/events/messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export type BrokerParamSource = 'body' | 'body-full' | 'header' | 'tag' | 'action' | 'topic';
2
+ export type BrokerActionType = 'rpc' | 'event';
3
+ export type BrokerHttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
4
+ export type BrokerHttpDataSource = 'query' | 'body' | 'params';
5
+ export declare function BrokerAction(topic: string, action: string, type?: BrokerActionType): MethodDecorator;
6
+ export declare function BrokerHTTP(method: BrokerHttpMethod, path: string, dataSource?: BrokerHttpDataSource, timeout?: number, parseRaw?: boolean): MethodDecorator;
7
+ export declare function BrokerAuth(authName: string, allowAnonymous?: boolean, roles?: string[]): MethodDecorator;
8
+ export declare function BrokerParam(source: BrokerParamSource, name?: string): ParameterDecorator;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrokerAction = BrokerAction;
4
+ exports.BrokerHTTP = BrokerHTTP;
5
+ exports.BrokerAuth = BrokerAuth;
6
+ exports.BrokerParam = BrokerParam;
7
+ const const_1 = require("../const");
8
+ const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
9
+ const ARGUMENT_NAMES = /([^\s,]+)/g;
10
+ function BrokerAction(topic, action, type) {
11
+ return (target, propertyKey, descriptor) => {
12
+ const existingMetadata = Reflect.getMetadata(const_1.RLB_BROKER_METHOD_METADATA_KEY, target.constructor) || [];
13
+ const params = getParamNames(descriptor.value);
14
+ existingMetadata.push({
15
+ methodName: propertyKey,
16
+ topic,
17
+ action,
18
+ type,
19
+ params
20
+ });
21
+ Reflect.defineMetadata(const_1.RLB_BROKER_METHOD_METADATA_KEY, existingMetadata, target.constructor);
22
+ };
23
+ }
24
+ function BrokerHTTP(method, path, dataSource, timeout, parseRaw) {
25
+ return (target, propertyKey, descriptor) => {
26
+ const existingMetadata = Reflect.getMetadata(const_1.RLB_BROKER_HTTP_METADATA_KEY, target.constructor) || [];
27
+ const params = getParamNames(descriptor.value);
28
+ existingMetadata.push({
29
+ methodName: propertyKey,
30
+ method,
31
+ path,
32
+ dataSource,
33
+ parseRaw,
34
+ timeout,
35
+ });
36
+ Reflect.defineMetadata(const_1.RLB_BROKER_HTTP_METADATA_KEY, existingMetadata, target.constructor);
37
+ };
38
+ }
39
+ function BrokerAuth(authName, allowAnonymous, roles) {
40
+ return (target, propertyKey, descriptor) => {
41
+ const existingMetadata = Reflect.getMetadata(const_1.RLB_BROKER_AUTH_METADATA_KEY, target.constructor) || [];
42
+ const params = getParamNames(descriptor.value);
43
+ existingMetadata.push({
44
+ methodName: propertyKey,
45
+ authName,
46
+ allowAnonymous,
47
+ roles,
48
+ });
49
+ Reflect.defineMetadata(const_1.RLB_BROKER_AUTH_METADATA_KEY, existingMetadata, target.constructor);
50
+ };
51
+ }
52
+ function BrokerParam(source, name) {
53
+ return (target, propertyKey, parameterIndex) => {
54
+ const existingMetadata = Reflect.getMetadata(const_1.RLB_BROKER_PARAM_METADATA_KEY, target, propertyKey) || [];
55
+ existingMetadata.push({ index: parameterIndex, name, source });
56
+ Reflect.defineMetadata(const_1.RLB_BROKER_PARAM_METADATA_KEY, existingMetadata, target, propertyKey);
57
+ };
58
+ }
59
+ function getParamNames(func) {
60
+ var fnStr = func.toString().replace(STRIP_COMMENTS, '');
61
+ var result = fnStr.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
62
+ if (result === null)
63
+ result = [];
64
+ return result;
65
+ }
66
+ //# sourceMappingURL=broker-action.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-action.decorator.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/decorators/broker-action.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './broker-action.decorator';
@@ -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("./broker-action.decorator"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
@@ -0,0 +1,9 @@
1
+ export * from './broker.module';
2
+ export * from './config/broker.config';
3
+ export * from './config/topics.config';
4
+ export * from './data/events/messages';
5
+ export * from './decorators';
6
+ export * from './pipes';
7
+ export * from './services/auto-discovery.service';
8
+ export * from './services/broker.service';
9
+ export * from './services/handler-registry.service';
@@ -0,0 +1,26 @@
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("./broker.module"), exports);
18
+ __exportStar(require("./config/broker.config"), exports);
19
+ __exportStar(require("./config/topics.config"), exports);
20
+ __exportStar(require("./data/events/messages"), exports);
21
+ __exportStar(require("./decorators"), exports);
22
+ __exportStar(require("./pipes"), exports);
23
+ __exportStar(require("./services/auto-discovery.service"), exports);
24
+ __exportStar(require("./services/broker.service"), exports);
25
+ __exportStar(require("./services/handler-registry.service"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/broker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yDAAuC;AACvC,yDAAuC;AACvC,yDAAuC;AACvC,+CAA6B;AAC7B,0CAAwB;AACxB,oEAAkD;AAClD,4DAA0C;AAC1C,sEAAoD"}
@@ -0,0 +1,4 @@
1
+ import { PipeTransform } from "@nestjs/common";
2
+ export declare class BooleanPipe implements PipeTransform<string | number | boolean, boolean> {
3
+ transform(value: string | number | boolean): boolean;
4
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BooleanPipe = void 0;
4
+ class BooleanPipe {
5
+ transform(value) {
6
+ if (typeof value === 'boolean')
7
+ return value;
8
+ else if (typeof value === 'string') {
9
+ if (value === "")
10
+ return false;
11
+ else if (value.toLowerCase() === "true" || value === "1")
12
+ return true;
13
+ else
14
+ return false;
15
+ }
16
+ else if (typeof value === 'number')
17
+ return value === 1;
18
+ else
19
+ return false;
20
+ }
21
+ }
22
+ exports.BooleanPipe = BooleanPipe;
23
+ //# sourceMappingURL=boolean.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.pipe.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/pipes/boolean.pipe.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAW;IACtB,SAAS,CAAC,KAAgC;QACxC,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;aACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;iBAC1B,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;;gBACjE,OAAO,KAAK,CAAC;QACpB,CAAC;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,KAAK,CAAC,CAAC;;YAClD,OAAO,KAAK,CAAC;IACpB,CAAC;CACF;AAXD,kCAWC"}
@@ -0,0 +1,2 @@
1
+ export * from './boolean.pipe';
2
+ export * from './number.pipe';
@@ -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("./boolean.pipe"), exports);
18
+ __exportStar(require("./number.pipe"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/pipes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,gDAA8B"}
@@ -0,0 +1,4 @@
1
+ import { PipeTransform } from "@nestjs/common";
2
+ export declare class NumberPipe implements PipeTransform<string, number> {
3
+ transform(value: string): number;
4
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NumberPipe = void 0;
4
+ class NumberPipe {
5
+ transform(value) {
6
+ return Number(value);
7
+ }
8
+ }
9
+ exports.NumberPipe = NumberPipe;
10
+ //# sourceMappingURL=number.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.pipe.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/pipes/number.pipe.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACrB,SAAS,CAAC,KAAa;QACrB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACF;AAJD,gCAIC"}
@@ -0,0 +1,6 @@
1
+ import { MetadataScannerService } from './metadata-scanner.service';
2
+ export declare class AutoDiscoveryService {
3
+ private readonly metadataScannerService;
4
+ constructor(metadataScannerService: MetadataScannerService);
5
+ get meta(): {};
6
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AutoDiscoveryService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const metadata_scanner_service_1 = require("./metadata-scanner.service");
15
+ let AutoDiscoveryService = class AutoDiscoveryService {
16
+ constructor(metadataScannerService) {
17
+ this.metadataScannerService = metadataScannerService;
18
+ }
19
+ get meta() {
20
+ return this.metadataScannerService.metaInfo;
21
+ }
22
+ };
23
+ exports.AutoDiscoveryService = AutoDiscoveryService;
24
+ exports.AutoDiscoveryService = AutoDiscoveryService = __decorate([
25
+ (0, common_1.Injectable)(),
26
+ __metadata("design:paramtypes", [metadata_scanner_service_1.MetadataScannerService])
27
+ ], AutoDiscoveryService);
28
+ //# sourceMappingURL=auto-discovery.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-discovery.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/auto-discovery.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,yEAAoE;AAG7D,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YAA6B,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;IAAI,CAAC;IAEhF,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;IAC9C,CAAC;CACF,CAAA;AANY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAE0C,iDAAsB;GADhE,oBAAoB,CAMhC"}
@@ -0,0 +1,31 @@
1
+ import { OnModuleInit } from "@nestjs/common";
2
+ import { Observable } from "rxjs";
3
+ import { AmqpConnection } from "../../../amqp-lib";
4
+ import { BrokerConfig } from "../config/broker.config";
5
+ import { BrokerTopic } from "../config/topics.config";
6
+ import { BrokerEvent, RpcEventHandler } from "../data/events/messages";
7
+ import { HandlerRegistryService } from "./handler-registry.service";
8
+ import { UtilsService } from "./utils.service";
9
+ export declare class BrokerService implements OnModuleInit {
10
+ private readonly amqpConnection;
11
+ private readonly handlerRegistryService;
12
+ private readonly brokerConfig;
13
+ private readonly topicConfigurations;
14
+ private readonly utils;
15
+ private readonly events;
16
+ private readonly rpcsPool;
17
+ private readonly handlersPool;
18
+ private readonly logger;
19
+ private readonly appConfig;
20
+ constructor(amqpConnection: AmqpConnection, handlerRegistryService: HandlerRegistryService, brokerConfig: BrokerConfig, topicConfigurations: BrokerTopic[], utils: UtilsService);
21
+ get events$(): Observable<BrokerEvent<any>>;
22
+ getEvents$<T>(): Observable<BrokerEvent<T>>;
23
+ onModuleInit(): void;
24
+ publishMessage(topic: string, action: string, payload: any, headers?: any): void;
25
+ registerHandler<Request = any>(_topic: string, handler?: RpcEventHandler<Request, void>): Promise<void>;
26
+ registerRpc<Request = any, Response = any>(_topic: string, handler: RpcEventHandler<Request, Response>): Promise<void>;
27
+ requestData<Request = any, Response = any>(topic: string, action: string, payload?: Request, headers?: any, timeout?: number): Promise<Response>;
28
+ getHandler<Request = any, Response = any>(topic: string): RpcEventHandler<Request, Response>;
29
+ getRpc<Request = any, Response = any>(topic: string): RpcEventHandler<Request, Response>;
30
+ private executeFunction;
31
+ }