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.
- package/LICENSE +21 -0
- package/README.md +413 -0
- package/dist/api/TotoAPIController.d.ts +30 -0
- package/dist/api/TotoAPIController.d.ts.map +1 -0
- package/dist/api/TotoAPIController.js +226 -0
- package/dist/api/TotoAPIController.js.map +1 -0
- package/dist/auth/TotoToken.d.ts +3 -0
- package/dist/auth/TotoToken.d.ts.map +1 -0
- package/dist/auth/TotoToken.js +8 -0
- package/dist/auth/TotoToken.js.map +1 -0
- package/dist/core/TotoMicroservice.d.ts +27 -0
- package/dist/core/TotoMicroservice.d.ts.map +1 -0
- package/dist/core/TotoMicroservice.js +52 -0
- package/dist/core/TotoMicroservice.js.map +1 -0
- package/dist/dlg/SmokeDelegate.d.ts +12 -0
- package/dist/dlg/SmokeDelegate.d.ts.map +1 -0
- package/dist/dlg/SmokeDelegate.js +10 -0
- package/dist/dlg/SmokeDelegate.js.map +1 -0
- package/dist/evt/IMessageBus.d.ts +35 -0
- package/dist/evt/IMessageBus.d.ts.map +1 -0
- package/dist/evt/IMessageBus.js +21 -0
- package/dist/evt/IMessageBus.js.map +1 -0
- package/dist/evt/MessageBus.d.ts +37 -0
- package/dist/evt/MessageBus.d.ts.map +1 -0
- package/dist/evt/MessageBus.js +81 -0
- package/dist/evt/MessageBus.js.map +1 -0
- package/dist/evt/TotoMessage.d.ts +9 -0
- package/dist/evt/TotoMessage.d.ts.map +1 -0
- package/dist/evt/TotoMessage.js +2 -0
- package/dist/evt/TotoMessage.js.map +1 -0
- package/dist/evt/TotoMessageHandler.d.ts +16 -0
- package/dist/evt/TotoMessageHandler.d.ts.map +1 -0
- package/dist/evt/TotoMessageHandler.js +14 -0
- package/dist/evt/TotoMessageHandler.js.map +1 -0
- package/dist/evt/impl/aws/SNSImpl.d.ts +24 -0
- package/dist/evt/impl/aws/SNSImpl.d.ts.map +1 -0
- package/dist/evt/impl/aws/SNSImpl.js +201 -0
- package/dist/evt/impl/aws/SNSImpl.js.map +1 -0
- package/dist/evt/impl/aws/SQSImpl.d.ts +19 -0
- package/dist/evt/impl/aws/SQSImpl.d.ts.map +1 -0
- package/dist/evt/impl/aws/SQSImpl.js +96 -0
- package/dist/evt/impl/aws/SQSImpl.js.map +1 -0
- package/dist/evt/impl/gcp/GCPPubSubImpl.d.ts +22 -0
- package/dist/evt/impl/gcp/GCPPubSubImpl.d.ts.map +1 -0
- package/dist/evt/impl/gcp/GCPPubSubImpl.js +93 -0
- package/dist/evt/impl/gcp/GCPPubSubImpl.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/integration/RegistryCache.d.ts +24 -0
- package/dist/integration/RegistryCache.d.ts.map +1 -0
- package/dist/integration/RegistryCache.js +74 -0
- package/dist/integration/RegistryCache.js.map +1 -0
- package/dist/integration/TotoAPI.d.ts +22 -0
- package/dist/integration/TotoAPI.d.ts.map +1 -0
- package/dist/integration/TotoAPI.js +84 -0
- package/dist/integration/TotoAPI.js.map +1 -0
- package/dist/integration/TotoRegistryAPI.d.ts +26 -0
- package/dist/integration/TotoRegistryAPI.d.ts.map +1 -0
- package/dist/integration/TotoRegistryAPI.js +67 -0
- package/dist/integration/TotoRegistryAPI.js.map +1 -0
- package/dist/logger/TotoLogger.d.ts +13 -0
- package/dist/logger/TotoLogger.d.ts.map +1 -0
- package/dist/logger/TotoLogger.js +48 -0
- package/dist/logger/TotoLogger.js.map +1 -0
- package/dist/model/APIConfiguration.d.ts +17 -0
- package/dist/model/APIConfiguration.d.ts.map +1 -0
- package/dist/model/APIConfiguration.js +2 -0
- package/dist/model/APIConfiguration.js.map +1 -0
- package/dist/model/AuthProviders.d.ts +5 -0
- package/dist/model/AuthProviders.d.ts.map +1 -0
- package/dist/model/AuthProviders.js +5 -0
- package/dist/model/AuthProviders.js.map +1 -0
- package/dist/model/TotoControllerConfig.d.ts +29 -0
- package/dist/model/TotoControllerConfig.d.ts.map +1 -0
- package/dist/model/TotoControllerConfig.js +77 -0
- package/dist/model/TotoControllerConfig.js.map +1 -0
- package/dist/model/TotoDelegate.d.ts +19 -0
- package/dist/model/TotoDelegate.d.ts.map +1 -0
- package/dist/model/TotoDelegate.js +12 -0
- package/dist/model/TotoDelegate.js.map +1 -0
- package/dist/model/TotoEnvironment.d.ts +16 -0
- package/dist/model/TotoEnvironment.d.ts.map +1 -0
- package/dist/model/TotoEnvironment.js +2 -0
- package/dist/model/TotoEnvironment.js.map +1 -0
- package/dist/model/TotoPathOptions.d.ts +6 -0
- package/dist/model/TotoPathOptions.d.ts.map +1 -0
- package/dist/model/TotoPathOptions.js +2 -0
- package/dist/model/TotoPathOptions.js.map +1 -0
- package/dist/model/TotoRuntimeError.d.ts +7 -0
- package/dist/model/TotoRuntimeError.d.ts.map +1 -0
- package/dist/model/TotoRuntimeError.js +9 -0
- package/dist/model/TotoRuntimeError.js.map +1 -0
- package/dist/model/UserContext.d.ts +6 -0
- package/dist/model/UserContext.d.ts.map +1 -0
- package/dist/model/UserContext.js +2 -0
- package/dist/model/UserContext.js.map +1 -0
- package/dist/util/CorrelationId.d.ts +2 -0
- package/dist/util/CorrelationId.d.ts.map +1 -0
- package/dist/util/CorrelationId.js +7 -0
- package/dist/util/CorrelationId.js.map +1 -0
- package/dist/util/CrossCloudSecret.d.ts +10 -0
- package/dist/util/CrossCloudSecret.d.ts.map +1 -0
- package/dist/util/CrossCloudSecret.js +45 -0
- package/dist/util/CrossCloudSecret.js.map +1 -0
- package/dist/util/ErrorUtil.d.ts +3 -0
- package/dist/util/ErrorUtil.d.ts.map +1 -0
- package/dist/util/ErrorUtil.js +11 -0
- package/dist/util/ErrorUtil.js.map +1 -0
- package/dist/util/TokenUtil.d.ts +4 -0
- package/dist/util/TokenUtil.d.ts.map +1 -0
- package/dist/util/TokenUtil.js +21 -0
- package/dist/util/TokenUtil.js.map +1 -0
- package/dist/validation/GoogleAuthCheck.d.ts +7 -0
- package/dist/validation/GoogleAuthCheck.d.ts.map +1 -0
- package/dist/validation/GoogleAuthCheck.js +24 -0
- package/dist/validation/GoogleAuthCheck.js.map +1 -0
- package/dist/validation/Validator.d.ts +33 -0
- package/dist/validation/Validator.d.ts.map +1 -0
- package/dist/validation/Validator.js +111 -0
- package/dist/validation/Validator.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|