totoms 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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +413 -0
  3. package/dist/api/TotoAPIController.d.ts +30 -0
  4. package/dist/api/TotoAPIController.d.ts.map +1 -0
  5. package/dist/api/TotoAPIController.js +226 -0
  6. package/dist/api/TotoAPIController.js.map +1 -0
  7. package/dist/auth/TotoToken.d.ts +3 -0
  8. package/dist/auth/TotoToken.d.ts.map +1 -0
  9. package/dist/auth/TotoToken.js +8 -0
  10. package/dist/auth/TotoToken.js.map +1 -0
  11. package/dist/core/TotoMicroservice.d.ts +27 -0
  12. package/dist/core/TotoMicroservice.d.ts.map +1 -0
  13. package/dist/core/TotoMicroservice.js +52 -0
  14. package/dist/core/TotoMicroservice.js.map +1 -0
  15. package/dist/dlg/SmokeDelegate.d.ts +12 -0
  16. package/dist/dlg/SmokeDelegate.d.ts.map +1 -0
  17. package/dist/dlg/SmokeDelegate.js +10 -0
  18. package/dist/dlg/SmokeDelegate.js.map +1 -0
  19. package/dist/evt/IMessageBus.d.ts +35 -0
  20. package/dist/evt/IMessageBus.d.ts.map +1 -0
  21. package/dist/evt/IMessageBus.js +21 -0
  22. package/dist/evt/IMessageBus.js.map +1 -0
  23. package/dist/evt/MessageBus.d.ts +37 -0
  24. package/dist/evt/MessageBus.d.ts.map +1 -0
  25. package/dist/evt/MessageBus.js +81 -0
  26. package/dist/evt/MessageBus.js.map +1 -0
  27. package/dist/evt/TotoMessage.d.ts +9 -0
  28. package/dist/evt/TotoMessage.d.ts.map +1 -0
  29. package/dist/evt/TotoMessage.js +2 -0
  30. package/dist/evt/TotoMessage.js.map +1 -0
  31. package/dist/evt/TotoMessageHandler.d.ts +16 -0
  32. package/dist/evt/TotoMessageHandler.d.ts.map +1 -0
  33. package/dist/evt/TotoMessageHandler.js +14 -0
  34. package/dist/evt/TotoMessageHandler.js.map +1 -0
  35. package/dist/evt/impl/aws/SNSImpl.d.ts +24 -0
  36. package/dist/evt/impl/aws/SNSImpl.d.ts.map +1 -0
  37. package/dist/evt/impl/aws/SNSImpl.js +201 -0
  38. package/dist/evt/impl/aws/SNSImpl.js.map +1 -0
  39. package/dist/evt/impl/aws/SQSImpl.d.ts +19 -0
  40. package/dist/evt/impl/aws/SQSImpl.d.ts.map +1 -0
  41. package/dist/evt/impl/aws/SQSImpl.js +96 -0
  42. package/dist/evt/impl/aws/SQSImpl.js.map +1 -0
  43. package/dist/evt/impl/gcp/GCPPubSubImpl.d.ts +22 -0
  44. package/dist/evt/impl/gcp/GCPPubSubImpl.d.ts.map +1 -0
  45. package/dist/evt/impl/gcp/GCPPubSubImpl.js +93 -0
  46. package/dist/evt/impl/gcp/GCPPubSubImpl.js.map +1 -0
  47. package/dist/index.d.ts +25 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +20 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/integration/RegistryCache.d.ts +24 -0
  52. package/dist/integration/RegistryCache.d.ts.map +1 -0
  53. package/dist/integration/RegistryCache.js +74 -0
  54. package/dist/integration/RegistryCache.js.map +1 -0
  55. package/dist/integration/TotoAPI.d.ts +22 -0
  56. package/dist/integration/TotoAPI.d.ts.map +1 -0
  57. package/dist/integration/TotoAPI.js +84 -0
  58. package/dist/integration/TotoAPI.js.map +1 -0
  59. package/dist/integration/TotoRegistryAPI.d.ts +26 -0
  60. package/dist/integration/TotoRegistryAPI.d.ts.map +1 -0
  61. package/dist/integration/TotoRegistryAPI.js +67 -0
  62. package/dist/integration/TotoRegistryAPI.js.map +1 -0
  63. package/dist/logger/TotoLogger.d.ts +13 -0
  64. package/dist/logger/TotoLogger.d.ts.map +1 -0
  65. package/dist/logger/TotoLogger.js +48 -0
  66. package/dist/logger/TotoLogger.js.map +1 -0
  67. package/dist/model/APIConfiguration.d.ts +17 -0
  68. package/dist/model/APIConfiguration.d.ts.map +1 -0
  69. package/dist/model/APIConfiguration.js +2 -0
  70. package/dist/model/APIConfiguration.js.map +1 -0
  71. package/dist/model/AuthProviders.d.ts +5 -0
  72. package/dist/model/AuthProviders.d.ts.map +1 -0
  73. package/dist/model/AuthProviders.js +5 -0
  74. package/dist/model/AuthProviders.js.map +1 -0
  75. package/dist/model/TotoControllerConfig.d.ts +29 -0
  76. package/dist/model/TotoControllerConfig.d.ts.map +1 -0
  77. package/dist/model/TotoControllerConfig.js +77 -0
  78. package/dist/model/TotoControllerConfig.js.map +1 -0
  79. package/dist/model/TotoDelegate.d.ts +19 -0
  80. package/dist/model/TotoDelegate.d.ts.map +1 -0
  81. package/dist/model/TotoDelegate.js +12 -0
  82. package/dist/model/TotoDelegate.js.map +1 -0
  83. package/dist/model/TotoEnvironment.d.ts +16 -0
  84. package/dist/model/TotoEnvironment.d.ts.map +1 -0
  85. package/dist/model/TotoEnvironment.js +2 -0
  86. package/dist/model/TotoEnvironment.js.map +1 -0
  87. package/dist/model/TotoPathOptions.d.ts +6 -0
  88. package/dist/model/TotoPathOptions.d.ts.map +1 -0
  89. package/dist/model/TotoPathOptions.js +2 -0
  90. package/dist/model/TotoPathOptions.js.map +1 -0
  91. package/dist/model/TotoRuntimeError.d.ts +7 -0
  92. package/dist/model/TotoRuntimeError.d.ts.map +1 -0
  93. package/dist/model/TotoRuntimeError.js +9 -0
  94. package/dist/model/TotoRuntimeError.js.map +1 -0
  95. package/dist/model/UserContext.d.ts +6 -0
  96. package/dist/model/UserContext.d.ts.map +1 -0
  97. package/dist/model/UserContext.js +2 -0
  98. package/dist/model/UserContext.js.map +1 -0
  99. package/dist/util/CorrelationId.d.ts +2 -0
  100. package/dist/util/CorrelationId.d.ts.map +1 -0
  101. package/dist/util/CorrelationId.js +7 -0
  102. package/dist/util/CorrelationId.js.map +1 -0
  103. package/dist/util/CrossCloudSecret.d.ts +10 -0
  104. package/dist/util/CrossCloudSecret.d.ts.map +1 -0
  105. package/dist/util/CrossCloudSecret.js +45 -0
  106. package/dist/util/CrossCloudSecret.js.map +1 -0
  107. package/dist/util/ErrorUtil.d.ts +3 -0
  108. package/dist/util/ErrorUtil.d.ts.map +1 -0
  109. package/dist/util/ErrorUtil.js +11 -0
  110. package/dist/util/ErrorUtil.js.map +1 -0
  111. package/dist/util/TokenUtil.d.ts +4 -0
  112. package/dist/util/TokenUtil.d.ts.map +1 -0
  113. package/dist/util/TokenUtil.js +21 -0
  114. package/dist/util/TokenUtil.js.map +1 -0
  115. package/dist/validation/GoogleAuthCheck.d.ts +7 -0
  116. package/dist/validation/GoogleAuthCheck.d.ts.map +1 -0
  117. package/dist/validation/GoogleAuthCheck.js +24 -0
  118. package/dist/validation/GoogleAuthCheck.js.map +1 -0
  119. package/dist/validation/Validator.d.ts +33 -0
  120. package/dist/validation/Validator.d.ts.map +1 -0
  121. package/dist/validation/Validator.js +111 -0
  122. package/dist/validation/Validator.js.map +1 -0
  123. package/package.json +90 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoAPIController.js","sourceRoot":"","sources":["../../src/api/TotoAPIController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TotoControllerConfig } from "..";
2
+ export declare function newTotoServiceToken(config: TotoControllerConfig): string;
3
+ //# sourceMappingURL=TotoToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoToken.d.ts","sourceRoot":"","sources":["../../src/auth/TotoToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,IAAI,CAAC;AAU1C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,UAO/D"}
@@ -0,0 +1,8 @@
1
+ import moment from "moment-timezone";
2
+ import jwt from 'jsonwebtoken';
3
+ export function newTotoServiceToken(config) {
4
+ let exp = moment().tz("Europe/Rome").add(3, "hours").unix();
5
+ let token = jwt.sign({ user: "toto-service", authProvider: "toto", exp: exp }, config.getSigningKey());
6
+ return token;
7
+ }
8
+ //# sourceMappingURL=TotoToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoToken.js","sourceRoot":"","sources":["../../src/auth/TotoToken.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,GAAG,MAAM,cAAc,CAAC;AAW/B,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAE5D,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAE5D,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAEvG,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { TotoMessageHandler, TotoControllerConfig, SecretsManager, APIConfiguration, TotoEnvironment } from '..';
2
+ export declare class TotoMicroservice {
3
+ private config;
4
+ private apiController;
5
+ private messageBus;
6
+ private static instance;
7
+ private static instancePromise;
8
+ private constructor();
9
+ static init(config: TotoMicroserviceConfiguration): Promise<TotoMicroservice>;
10
+ start(): Promise<void>;
11
+ }
12
+ export interface TotoMicroserviceConfiguration {
13
+ serviceName: string;
14
+ basePath?: string;
15
+ environment: TotoEnvironment;
16
+ customConfiguration: new (secretsManager: SecretsManager) => TotoControllerConfig;
17
+ apiConfiguration: APIConfiguration;
18
+ messageBusConfiguration?: MessageBusConfiguration;
19
+ }
20
+ export interface MessageBusConfiguration {
21
+ topics: {
22
+ logicalName: string;
23
+ secret: string;
24
+ }[];
25
+ messageHandlers?: (new (config: TotoControllerConfig) => TotoMessageHandler)[];
26
+ }
27
+ //# sourceMappingURL=TotoMicroservice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoMicroservice.d.ts","sourceRoot":"","sources":["../../src/core/TotoMicroservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,kBAAkB,EAAE,oBAAoB,EAAqB,cAAc,EAAU,gBAAgB,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAE7K,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAiB;IAEnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,MAAM,CAAC,eAAe,CAA0C;IAExE,OAAO;WAMa,IAAI,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmE7E,KAAK;CAGrB;AAED,MAAM,WAAW,6BAA6B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,mBAAmB,EAAE,KAAK,cAAc,EAAE,cAAc,KAAK,oBAAoB,CAAC;IAClF,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,oBAAoB,KAAK,kBAAkB,CAAC,EAAE,CAAC;CAClF"}
@@ -0,0 +1,52 @@
1
+ import { TotoMessageBus, TotoAPIController, SecretsManager, Logger } from '..';
2
+ export class TotoMicroservice {
3
+ constructor(config, apiController, messageBus) {
4
+ this.config = config;
5
+ this.apiController = apiController;
6
+ this.messageBus = messageBus;
7
+ }
8
+ static async init(config) {
9
+ if (TotoMicroservice.instance)
10
+ return TotoMicroservice.instance;
11
+ if (TotoMicroservice.instancePromise)
12
+ return TotoMicroservice.instancePromise;
13
+ Logger.init(config.serviceName);
14
+ const secretsManager = new SecretsManager(config.environment);
15
+ const customConfig = new config.customConfiguration(secretsManager);
16
+ let topicNames = undefined;
17
+ if (config.messageBusConfiguration && config.messageBusConfiguration.topics) {
18
+ const topicNamesPromises = config.messageBusConfiguration.topics.map(async (topic) => {
19
+ const secretValue = await secretsManager.getSecret(topic.secret);
20
+ return { logicalName: topic.logicalName, resourceIdentifier: secretValue };
21
+ });
22
+ topicNames = await Promise.all(topicNamesPromises);
23
+ }
24
+ TotoMicroservice.instancePromise = customConfig.load().then(() => {
25
+ const apiController = new TotoAPIController({ apiName: config.serviceName, config: customConfig, environment: config.environment }, { basePath: config.basePath });
26
+ const bus = new TotoMessageBus({
27
+ controller: apiController,
28
+ customConfig: customConfig,
29
+ topics: topicNames,
30
+ environment: config.environment
31
+ });
32
+ if (config.messageBusConfiguration && config.messageBusConfiguration.messageHandlers) {
33
+ for (const handler of config.messageBusConfiguration.messageHandlers) {
34
+ bus.registerMessageHandler(new handler(customConfig));
35
+ }
36
+ }
37
+ if (config.apiConfiguration && config.apiConfiguration.apiEndpoints) {
38
+ for (const endpoint of config.apiConfiguration.apiEndpoints) {
39
+ const delegateInstance = new endpoint.delegate(bus, customConfig);
40
+ apiController.path(endpoint.method, endpoint.path, delegateInstance);
41
+ }
42
+ }
43
+ return new TotoMicroservice(customConfig, apiController, bus);
44
+ });
45
+ return TotoMicroservice.instancePromise;
46
+ }
47
+ async start() {
48
+ this.apiController.listen();
49
+ }
50
+ }
51
+ TotoMicroservice.instancePromise = null;
52
+ //# sourceMappingURL=TotoMicroservice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoMicroservice.js","sourceRoot":"","sources":["../../src/core/TotoMicroservice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Request } from "express";
2
+ import { TotoDelegate } from "../model/TotoDelegate";
3
+ import { UserContext } from "../model/UserContext";
4
+ export declare class SmokeDelegate extends TotoDelegate {
5
+ apiName?: string;
6
+ do(req: Request, userContext: UserContext | undefined): Promise<SmokeResponse>;
7
+ }
8
+ export interface SmokeResponse {
9
+ api?: string;
10
+ status: string;
11
+ }
12
+ //# sourceMappingURL=SmokeDelegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmokeDelegate.d.ts","sourceRoot":"","sources":["../../src/dlg/SmokeDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,qBAAa,aAAc,SAAQ,YAAY;IAE3C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEX,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAUvF;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAA;CACjB"}
@@ -0,0 +1,10 @@
1
+ import { TotoDelegate } from "../model/TotoDelegate";
2
+ export class SmokeDelegate extends TotoDelegate {
3
+ async do(req, userContext) {
4
+ return {
5
+ api: this.apiName,
6
+ status: "running"
7
+ };
8
+ }
9
+ }
10
+ //# sourceMappingURL=SmokeDelegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmokeDelegate.js","sourceRoot":"","sources":["../../src/dlg/SmokeDelegate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,OAAO,aAAc,SAAQ,YAAY;IAI3C,KAAK,CAAC,EAAE,CAAC,GAAY,EAAE,WAAoC;QAEvD,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,MAAM,EAAE,SAAS;SACpB,CAAA;IAEL,CAAC;CAGJ"}
@@ -0,0 +1,35 @@
1
+ import { Request } from "express";
2
+ import { TotoMessage } from "./TotoMessage";
3
+ import { ProcessingResponse } from "./TotoMessageHandler";
4
+ export declare abstract class IMessageBus {
5
+ abstract publishMessage(destination: MessageDestination, message: TotoMessage): Promise<void>;
6
+ abstract convert(envelope: any): TotoMessage;
7
+ abstract getRequestValidator(): APubSubRequestValidator;
8
+ }
9
+ export declare abstract class IPubSub extends IMessageBus {
10
+ abstract filter(req: Request): APubSubRequestFilter | null;
11
+ }
12
+ export declare abstract class IQueue extends IMessageBus {
13
+ protected messageHandler: (msgPayload: any) => Promise<ProcessingResponse>;
14
+ abstract close(): Promise<void>;
15
+ setMessageHandler(handler: (msgPayload: any) => Promise<ProcessingResponse>): void;
16
+ }
17
+ export interface APubSubRequestFilter {
18
+ handle(req: Request): Promise<ProcessingResponse>;
19
+ }
20
+ export declare class MessageDestination {
21
+ topic?: string;
22
+ queue?: string;
23
+ constructor(init: {
24
+ topic: string;
25
+ queue?: string;
26
+ } | {
27
+ topic?: string;
28
+ queue: string;
29
+ });
30
+ }
31
+ export declare abstract class APubSubRequestValidator {
32
+ abstract isRequestAuthorized(req: Request): Promise<boolean>;
33
+ abstract isRequestRecognized(req: Request): boolean;
34
+ }
35
+ //# sourceMappingURL=IMessageBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessageBus.d.ts","sourceRoot":"","sources":["../../src/evt/IMessageBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,8BAAsB,WAAW;IAQ7B,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7F,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,WAAW;IAQ5C,QAAQ,CAAC,mBAAmB,IAAI,uBAAuB;CAE1D;AAKD,8BAAsB,OAAQ,SAAQ,WAAW;IAS7C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;CAC7D;AAKD,8BAAsB,MAAO,SAAQ,WAAW;IAE5C,SAAS,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAwE;IAMlJ,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxB,iBAAiB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;CAI5F;AAED,MAAM,WAAW,oBAAoB;IACjC,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrD;AAKD,qBAAa,kBAAkB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAG1F;AAKD,8BAAsB,uBAAuB;IAOzC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5D,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;CAEtD"}
@@ -0,0 +1,21 @@
1
+ export class IMessageBus {
2
+ }
3
+ export class IPubSub extends IMessageBus {
4
+ }
5
+ export class IQueue extends IMessageBus {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.messageHandler = (msgPayload) => { throw new Error("Message handler not set"); };
9
+ }
10
+ setMessageHandler(handler) {
11
+ this.messageHandler = handler;
12
+ }
13
+ }
14
+ export class MessageDestination {
15
+ constructor(init) {
16
+ Object.assign(this, init);
17
+ }
18
+ }
19
+ export class APubSubRequestValidator {
20
+ }
21
+ //# sourceMappingURL=IMessageBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessageBus.js","sourceRoot":"","sources":["../../src/evt/IMessageBus.ts"],"names":[],"mappings":"AAUA,MAAM,OAAgB,WAAW;CA8BhC;AAKD,MAAM,OAAgB,OAAQ,SAAQ,WAAW;CAUhD;AAKD,MAAM,OAAgB,MAAO,SAAQ,WAAW;IAAhD;;QAEc,mBAAc,GAAqD,CAAC,UAAe,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IAqBtJ,CAAC;IAJU,iBAAiB,CAAC,OAAyD;QAC9E,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAClC,CAAC;CAEJ;AASD,MAAM,OAAO,kBAAkB;IAI3B,YAAY,IAA2E;QACnF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;CACJ;AAKD,MAAM,OAAgB,uBAAuB;CAiB5C"}
@@ -0,0 +1,37 @@
1
+ import { Request } from "express";
2
+ import { TotoMessage } from "./TotoMessage";
3
+ import { TotoAPIController, TotoControllerConfig, TotoEnvironment } from "..";
4
+ import { MessageDestination } from "./IMessageBus";
5
+ import { ProcessingResponse, TotoMessageHandler } from "./TotoMessageHandler";
6
+ export interface TotoMessageBusConfiguration {
7
+ controller: TotoAPIController;
8
+ customConfig: TotoControllerConfig;
9
+ environment: TotoEnvironment;
10
+ topics?: TopicIdentifier[];
11
+ }
12
+ export interface TopicIdentifier {
13
+ logicalName: string;
14
+ resourceIdentifier: string;
15
+ }
16
+ export interface MessageHandlerRegistrationOptions {
17
+ enablePushSupport?: boolean;
18
+ }
19
+ export declare class TotoMessageBus {
20
+ protected messageHandlerRegistrations: MessageHandlerRegistration[];
21
+ private apiController;
22
+ private messageBus;
23
+ private config;
24
+ constructor(config: TotoMessageBusConfiguration);
25
+ registerMessageHandler(handler: TotoMessageHandler, options?: MessageHandlerRegistrationOptions): void;
26
+ publishMessage(destination: MessageDestination, message: TotoMessage): Promise<void>;
27
+ onPullMessageReceived(envelope: any): Promise<ProcessingResponse>;
28
+ onPushMessageReceived(req: Request): Promise<ProcessingResponse>;
29
+ private findHandler;
30
+ }
31
+ declare class MessageHandlerRegistration {
32
+ messageType: string;
33
+ messageHandler: TotoMessageHandler;
34
+ constructor(data: MessageHandlerRegistration);
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=MessageBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBus.d.ts","sourceRoot":"","sources":["../../src/evt/MessageBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAoB,iBAAiB,EAAE,oBAAoB,EAAE,eAAe,EAAqC,MAAM,IAAI,CAAC;AAGnI,OAAO,EAAgC,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,WAAW,2BAA2B;IACxC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,YAAY,EAAE,oBAAoB,CAAC;IACnC,WAAW,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAQD,MAAM,WAAW,iCAAiC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAiBD,qBAAa,cAAc;IAEvB,SAAS,CAAC,2BAA2B,EAAE,0BAA0B,EAAE,CAAM;IAEzE,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,MAAM,CAA8B;gBAEhC,MAAM,EAAE,2BAA2B;IA4BxC,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,iCAAiC,GAAG,IAAI;IAiBtG,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC9E,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuBjE,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmC7E,OAAO,CAAC,WAAW;CAOtB;AAKD,cAAM,0BAA0B;IAE5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,kBAAkB,CAAC;gBAEvB,IAAI,EAAE,0BAA0B;CAI/C"}
@@ -0,0 +1,81 @@
1
+ import { TotoRuntimeError, ValidationError } from "..";
2
+ import { SNSImpl } from "./impl/aws/SNSImpl";
3
+ import { GCPPubSubImpl } from "./impl/gcp/GCPPubSubImpl";
4
+ import { IPubSub, IQueue, MessageDestination } from "./IMessageBus";
5
+ export class TotoMessageBus {
6
+ constructor(config) {
7
+ this.messageHandlerRegistrations = [];
8
+ this.config = config;
9
+ this.apiController = config.controller;
10
+ if (this.config.environment.hyperscaler === "aws")
11
+ this.messageBus = new SNSImpl({ awsRegion: this.config.environment.hyperscalerConfiguration.awsRegion });
12
+ else if (this.config.environment.hyperscaler === "gcp")
13
+ this.messageBus = new GCPPubSubImpl({ expectedAudience: this.config.customConfig.getExpectedAudience() });
14
+ else
15
+ throw new TotoRuntimeError(500, `Unsupported hyperscaler ${this.config.environment.hyperscaler} for Message Bus implementation`);
16
+ if (this.messageBus instanceof IQueue) {
17
+ this.messageBus.setMessageHandler(this.onPullMessageReceived.bind(this));
18
+ }
19
+ this.apiController.registerPubSubMessageEndpoint("/events", this.onPushMessageReceived.bind(this));
20
+ }
21
+ registerMessageHandler(handler, options) {
22
+ this.messageHandlerRegistrations.push(new MessageHandlerRegistration({
23
+ messageHandler: handler,
24
+ messageType: handler.getHandledMessageType(),
25
+ }));
26
+ }
27
+ publishMessage(destination, message) {
28
+ if (this.messageBus instanceof IPubSub && !destination.topic)
29
+ throw new ValidationError(400, "MessageDestination.topic is required for Pub/Sub message buses");
30
+ if (this.messageBus instanceof IQueue && !destination.queue)
31
+ throw new ValidationError(400, "MessageDestination.queue is required for Queue message buses");
32
+ let resolvedDestination;
33
+ if (this.messageBus instanceof IPubSub) {
34
+ const topicIdentifier = this.config.topics?.find(t => t.logicalName === destination.topic);
35
+ if (!topicIdentifier)
36
+ throw new ValidationError(400, `Topic [${destination.topic}] not found in configuration for publishing message of type [${message.type}]. This is a configuration error in your application.`);
37
+ resolvedDestination = new MessageDestination({ topic: topicIdentifier.resourceIdentifier });
38
+ }
39
+ else {
40
+ resolvedDestination = destination;
41
+ }
42
+ return this.messageBus.publishMessage(resolvedDestination, message);
43
+ }
44
+ async onPullMessageReceived(envelope) {
45
+ if (!(this.messageBus instanceof IQueue))
46
+ return { status: "ignored", responsePayload: "Message bus is not a Queue implementation" };
47
+ const message = this.messageBus.convert(envelope);
48
+ const handler = this.findHandler("pull", message.type);
49
+ if (!handler)
50
+ return { status: "ignored", responsePayload: `No handler found for message type ${message.type}` };
51
+ return handler.processMessage(message);
52
+ }
53
+ async onPushMessageReceived(req) {
54
+ if (!this.messageBus)
55
+ return { status: "ignored", responsePayload: "No message bus implementation found" };
56
+ const isAuthorized = await this.messageBus.getRequestValidator().isRequestAuthorized(req);
57
+ if (!isAuthorized)
58
+ throw new TotoRuntimeError(401, "Unauthorized PubSub request: " + JSON.stringify(req));
59
+ if (this.messageBus instanceof IPubSub) {
60
+ const filter = this.messageBus.filter(req);
61
+ if (filter)
62
+ return await filter.handle(req);
63
+ }
64
+ const message = this.messageBus.convert(req);
65
+ const handler = this.findHandler("push", message.type);
66
+ if (!handler)
67
+ return { status: "ignored", responsePayload: `No handler found for message type ${message.type}` };
68
+ return handler.processMessage(message);
69
+ }
70
+ findHandler(type, messageType) {
71
+ const registration = this.messageHandlerRegistrations.find(r => r.messageType === messageType);
72
+ return registration ? registration.messageHandler : null;
73
+ }
74
+ }
75
+ class MessageHandlerRegistration {
76
+ constructor(data) {
77
+ this.messageHandler = data.messageHandler;
78
+ this.messageType = data.messageType;
79
+ }
80
+ }
81
+ //# sourceMappingURL=MessageBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBus.js","sourceRoot":"","sources":["../../src/evt/MessageBus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface TotoMessage {
2
+ timestamp: string;
3
+ cid: string;
4
+ id: string;
5
+ type: string;
6
+ msg: string;
7
+ data: any;
8
+ }
9
+ //# sourceMappingURL=TotoMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoMessage.d.ts","sourceRoot":"","sources":["../../src/evt/TotoMessage.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAExB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;CAEb"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TotoMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoMessage.js","sourceRoot":"","sources":["../../src/evt/TotoMessage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { TotoControllerConfig } from "../model/TotoControllerConfig";
2
+ import { TotoMessage } from "./TotoMessage";
3
+ export declare abstract class TotoMessageHandler {
4
+ protected config: TotoControllerConfig;
5
+ cid?: string;
6
+ constructor(config: TotoControllerConfig);
7
+ processMessage(msg: TotoMessage): Promise<ProcessingResponse>;
8
+ protected abstract handledMessageType: string;
9
+ getHandledMessageType(): string;
10
+ protected abstract onMessage(msg: TotoMessage): Promise<ProcessingResponse>;
11
+ }
12
+ export interface ProcessingResponse {
13
+ status: "processed" | "ignored" | "failed";
14
+ responsePayload?: any;
15
+ }
16
+ //# sourceMappingURL=TotoMessageHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoMessageHandler.d.ts","sourceRoot":"","sources":["../../src/evt/TotoMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,8BAAsB,kBAAkB;IAIxB,SAAS,CAAC,MAAM,EAAE,oBAAoB;IAFlD,GAAG,CAAC,EAAE,MAAM,CAAC;gBAES,MAAM,EAAE,oBAAoB;IAOrC,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY1E,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAK9C,qBAAqB,IAAI,MAAM;IAS/B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAE9E;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3C,eAAe,CAAC,EAAE,GAAG,CAAC;CACzB"}
@@ -0,0 +1,14 @@
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ export class TotoMessageHandler {
3
+ constructor(config) {
4
+ this.config = config;
5
+ }
6
+ async processMessage(msg) {
7
+ this.cid = msg.cid || uuidv4();
8
+ return this.onMessage(msg);
9
+ }
10
+ getHandledMessageType() {
11
+ return this.handledMessageType;
12
+ }
13
+ }
14
+ //# sourceMappingURL=TotoMessageHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TotoMessageHandler.js","sourceRoot":"","sources":["../../src/evt/TotoMessageHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAMpC,MAAM,OAAgB,kBAAkB;IAIpC,YAAsB,MAA4B;QAA5B,WAAM,GAAN,MAAM,CAAsB;IAAI,CAAC;IAOhD,KAAK,CAAC,cAAc,CAAC,GAAgB;QAExC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAYD,qBAAqB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;CASJ"}
@@ -0,0 +1,24 @@
1
+ import { Request } from "express";
2
+ import { TotoMessage } from "../../TotoMessage";
3
+ import { APubSubRequestFilter, APubSubRequestValidator, IPubSub, MessageDestination } from "../../IMessageBus";
4
+ export interface SNSConfiguration {
5
+ awsRegion: string;
6
+ }
7
+ export declare class SNSImpl extends IPubSub {
8
+ private config;
9
+ private snsClient;
10
+ constructor(config: SNSConfiguration);
11
+ getRequestValidator(): APubSubRequestValidator;
12
+ publishMessage(destination: MessageDestination, message: TotoMessage): Promise<void>;
13
+ filter(req: Request): APubSubRequestFilter | null;
14
+ convert(envelope: Request): TotoMessage;
15
+ }
16
+ export declare class SNSRequestValidator extends APubSubRequestValidator {
17
+ isRequestRecognized(req: Request): boolean;
18
+ isRequestAuthorized(req: Request): Promise<boolean>;
19
+ private isValidCertUrl;
20
+ private downloadCertificate;
21
+ private buildStringToSign;
22
+ private verifySignature;
23
+ }
24
+ //# sourceMappingURL=SNSImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SNSImpl.d.ts","sourceRoot":"","sources":["../../../../src/evt/impl/aws/SNSImpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG/G,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,OAAQ,SAAQ,OAAO;IAIpB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,SAAS,CAAY;gBAET,MAAM,EAAE,gBAAgB;IAK5C,mBAAmB,IAAI,uBAAuB;IASxC,cAAc,CAAC,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C1F,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI;IAcjD,OAAO,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW;CAkE1C;AAsCD,qBAAa,mBAAoB,SAAQ,uBAAuB;IAE5D,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAuBpC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAqEzD,OAAO,CAAC,cAAc;YAiBR,mBAAmB;IAoBjC,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,eAAe;CAe1B"}