@mbc-cqrs-serverless/core 1.2.7-beta.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/dist/app.module.js +2 -0
- package/dist/app.module.js.map +1 -1
- package/dist/auth/auth.module.d.ts +2 -0
- package/dist/auth/auth.module.js +30 -0
- package/dist/auth/auth.module.js.map +1 -0
- package/dist/auth/authz-bootstrap.service.d.ts +11 -0
- package/dist/auth/authz-bootstrap.service.js +47 -0
- package/dist/auth/authz-bootstrap.service.js.map +1 -0
- package/dist/auth/group-role-resolver.interface.d.ts +13 -0
- package/dist/auth/group-role-resolver.interface.js +3 -0
- package/dist/auth/group-role-resolver.interface.js.map +1 -0
- package/dist/auth/group-role-resolver.registry.d.ts +6 -0
- package/dist/auth/group-role-resolver.registry.js +26 -0
- package/dist/auth/group-role-resolver.registry.js.map +1 -0
- package/dist/auth/index.d.ts +4 -0
- package/dist/auth/index.js +21 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/context/invoke.d.ts +1 -0
- package/dist/context/invoke.js.map +1 -1
- package/dist/context/user.d.ts +4 -0
- package/dist/context/user.js +50 -0
- package/dist/context/user.js.map +1 -1
- package/dist/decorators/constants.d.ts +2 -0
- package/dist/decorators/constants.js +3 -1
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/group-role-resolver.decorator.d.ts +9 -0
- package/dist/decorators/group-role-resolver.decorator.js +17 -0
- package/dist/decorators/group-role-resolver.decorator.js.map +1 -0
- package/dist/decorators/index.d.ts +2 -0
- package/dist/decorators/index.js +2 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/notification-transport.decorator.d.ts +6 -0
- package/dist/decorators/notification-transport.decorator.js +14 -0
- package/dist/decorators/notification-transport.decorator.js.map +1 -0
- package/dist/env.validation.d.ts +19 -0
- package/dist/env.validation.js +22 -1
- package/dist/env.validation.js.map +1 -1
- package/dist/guard/roles.guard.d.ts +11 -1
- package/dist/guard/roles.guard.js +44 -8
- package/dist/guard/roles.guard.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/notification-env.validation.d.ts +8 -0
- package/dist/notification-env.validation.js +36 -0
- package/dist/notification-env.validation.js.map +1 -0
- package/dist/notifications/appsync-events.service.d.ts +44 -0
- package/dist/notifications/appsync-events.service.js +147 -0
- package/dist/notifications/appsync-events.service.js.map +1 -0
- package/dist/notifications/appsync.service.d.ts +3 -2
- package/dist/notifications/appsync.service.js +20 -12
- package/dist/notifications/appsync.service.js.map +1 -1
- package/dist/notifications/enums/index.d.ts +1 -0
- package/dist/notifications/enums/index.js +18 -0
- package/dist/notifications/enums/index.js.map +1 -0
- package/dist/notifications/enums/notification-transport.enum.d.ts +4 -0
- package/dist/notifications/enums/notification-transport.enum.js +9 -0
- package/dist/notifications/enums/notification-transport.enum.js.map +1 -0
- package/dist/notifications/event/notification.event.handler.d.ts +13 -5
- package/dist/notifications/event/notification.event.handler.js +31 -7
- package/dist/notifications/event/notification.event.handler.js.map +1 -1
- package/dist/notifications/index.d.ts +3 -0
- package/dist/notifications/index.js +3 -0
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/interfaces/index.d.ts +1 -0
- package/dist/notifications/interfaces/index.js +18 -0
- package/dist/notifications/interfaces/index.js.map +1 -0
- package/dist/notifications/interfaces/notification-transport.interface.d.ts +7 -0
- package/dist/notifications/interfaces/notification-transport.interface.js +5 -0
- package/dist/notifications/interfaces/notification-transport.interface.js.map +1 -0
- package/dist/notifications/notification.module.js +12 -2
- package/dist/notifications/notification.module.js.map +1 -1
- package/dist/services/explorer.service.d.ts +5 -0
- package/dist/services/explorer.service.js +9 -0
- package/dist/services/explorer.service.js.map +1 -1
- package/dist/services/mocks/group-role-resolver.mock.d.ts +4 -0
- package/dist/services/mocks/group-role-resolver.mock.js +20 -0
- package/dist/services/mocks/group-role-resolver.mock.js.map +1 -0
- package/package.json +2 -2
|
@@ -15,7 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./appsync.service"), exports);
|
|
18
|
+
__exportStar(require("./appsync-events.service"), exports);
|
|
18
19
|
__exportStar(require("./email.service"), exports);
|
|
20
|
+
__exportStar(require("./enums"), exports);
|
|
19
21
|
__exportStar(require("./event"), exports);
|
|
22
|
+
__exportStar(require("./interfaces"), exports);
|
|
20
23
|
__exportStar(require("./notification.module"), exports);
|
|
21
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,kDAA+B;AAC/B,0CAAuB;AACvB,wDAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,2DAAwC;AACxC,kDAA+B;AAC/B,0CAAuB;AACvB,0CAAuB;AACvB,+CAA4B;AAC5B,wDAAqC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './notification-transport.interface';
|
|
@@ -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("./notification-transport.interface"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/notifications/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAkD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { INotification } from '../../interfaces';
|
|
2
|
+
export declare const NOTIFICATION_TRANSPORT = "NOTIFICATION_TRANSPORT";
|
|
3
|
+
export interface INotificationTransport {
|
|
4
|
+
name?: string;
|
|
5
|
+
sendMessage(notification: INotification): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export type NotificationTransportMap = Map<string, INotificationTransport>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-transport.interface.js","sourceRoot":"","sources":["../../../src/notifications/interfaces/notification-transport.interface.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAG,wBAAwB,CAAA"}
|
|
@@ -8,7 +8,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.NotificationModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
+
const config_1 = require("@nestjs/config");
|
|
12
|
+
const services_1 = require("../services");
|
|
11
13
|
const appsync_service_1 = require("./appsync.service");
|
|
14
|
+
const appsync_events_service_1 = require("./appsync-events.service");
|
|
12
15
|
const email_service_1 = require("./email.service");
|
|
13
16
|
const notification_event_handler_1 = require("./event/notification.event.handler");
|
|
14
17
|
let NotificationModule = class NotificationModule {
|
|
@@ -17,8 +20,15 @@ exports.NotificationModule = NotificationModule;
|
|
|
17
20
|
exports.NotificationModule = NotificationModule = __decorate([
|
|
18
21
|
(0, common_1.Global)(),
|
|
19
22
|
(0, common_1.Module)({
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
imports: [config_1.ConfigModule],
|
|
24
|
+
providers: [
|
|
25
|
+
services_1.ExplorerService,
|
|
26
|
+
email_service_1.EmailService,
|
|
27
|
+
notification_event_handler_1.NotificationEventHandler,
|
|
28
|
+
appsync_service_1.AppSyncService,
|
|
29
|
+
appsync_events_service_1.AppSyncEventsService,
|
|
30
|
+
],
|
|
31
|
+
exports: [email_service_1.EmailService, appsync_service_1.AppSyncService, appsync_events_service_1.AppSyncEventsService],
|
|
22
32
|
})
|
|
23
33
|
], NotificationModule);
|
|
24
34
|
//# sourceMappingURL=notification.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.module.js","sourceRoot":"","sources":["../../src/notifications/notification.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA+C;
|
|
1
|
+
{"version":3,"file":"notification.module.js","sourceRoot":"","sources":["../../src/notifications/notification.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA+C;AAC/C,2CAA6C;AAE7C,0CAA6C;AAC7C,uDAAkD;AAClD,qEAA+D;AAC/D,mDAA8C;AAC9C,mFAA6E;AActE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAZ9B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,CAAC;QACvB,SAAS,EAAE;YACT,0BAAe;YACf,4BAAY;YACZ,qDAAwB;YACxB,gCAAc;YACd,6CAAoB;SACrB;QACD,OAAO,EAAE,CAAC,4BAAY,EAAE,gCAAc,EAAE,6CAAoB,CAAC;KAC9D,CAAC;GACW,kBAAkB,CAAG"}
|
|
@@ -2,6 +2,7 @@ import { Type } from '@nestjs/common';
|
|
|
2
2
|
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
|
|
3
3
|
import { Module } from '@nestjs/core/injector/module';
|
|
4
4
|
import { ModulesContainer } from '@nestjs/core/injector/modules-container';
|
|
5
|
+
import { IGroupRoleResolver } from '../auth/group-role-resolver.interface';
|
|
5
6
|
import { IDataSyncHandler, IEventFactory, IEventHandler } from '../interfaces';
|
|
6
7
|
export declare class ExplorerService {
|
|
7
8
|
private readonly modulesContainer;
|
|
@@ -14,6 +15,10 @@ export declare class ExplorerService {
|
|
|
14
15
|
exploreDataSyncHandlers(commandTableName: string): {
|
|
15
16
|
dataSyncHandlers: Type<IDataSyncHandler<any, any>>[];
|
|
16
17
|
};
|
|
18
|
+
exploreNotificationTransports(): {
|
|
19
|
+
notificationTransports: Type<any>[];
|
|
20
|
+
};
|
|
21
|
+
exploreGroupRoleResolvers(): Type<IGroupRoleResolver>[];
|
|
17
22
|
flatMap<T>(modules: Module[], callback: (instance: InstanceWrapper) => Type<any> | undefined): Type<T>[];
|
|
18
23
|
filterProvider(wrapper: InstanceWrapper, metadataKey: string, metadataValue?: string): Type<any> | undefined;
|
|
19
24
|
extractMetadata(instance: Record<string, any>, metadataKey: string, metadataValue?: string): Type<any>;
|
|
@@ -30,6 +30,15 @@ let ExplorerService = ExplorerService_1 = class ExplorerService {
|
|
|
30
30
|
const dataSyncHandlers = this.flatMap(modules, (instance) => this.filterProvider(instance, decorators_1.DATA_SYNC_HANDLER_METADATA, commandTableName));
|
|
31
31
|
return { dataSyncHandlers };
|
|
32
32
|
}
|
|
33
|
+
exploreNotificationTransports() {
|
|
34
|
+
const modules = [...this.modulesContainer.values()];
|
|
35
|
+
const notificationTransports = this.flatMap(modules, (instance) => this.filterProvider(instance, decorators_1.NOTIFICATION_TRANSPORT_METADATA));
|
|
36
|
+
return { notificationTransports };
|
|
37
|
+
}
|
|
38
|
+
exploreGroupRoleResolvers() {
|
|
39
|
+
const modules = [...this.modulesContainer.values()];
|
|
40
|
+
return this.flatMap(modules, (instance) => this.filterProvider(instance, decorators_1.GROUP_ROLE_RESOLVER_METADATA));
|
|
41
|
+
}
|
|
33
42
|
flatMap(modules, callback) {
|
|
34
43
|
const items = modules
|
|
35
44
|
.map((module) => [...module.providers.values()].map(callback))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer.service.js","sourceRoot":"","sources":["../../src/services/explorer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyD;AAGzD,+EAA0E;
|
|
1
|
+
{"version":3,"file":"explorer.service.js","sourceRoot":"","sources":["../../src/services/explorer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MockGroupRoleResolver = void 0;
|
|
10
|
+
const decorators_1 = require("../../decorators");
|
|
11
|
+
let MockGroupRoleResolver = class MockGroupRoleResolver {
|
|
12
|
+
async resolveRoles() {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
exports.MockGroupRoleResolver = MockGroupRoleResolver;
|
|
17
|
+
exports.MockGroupRoleResolver = MockGroupRoleResolver = __decorate([
|
|
18
|
+
(0, decorators_1.GroupRoleResolver)()
|
|
19
|
+
], MockGroupRoleResolver);
|
|
20
|
+
//# sourceMappingURL=group-role-resolver.mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-role-resolver.mock.js","sourceRoot":"","sources":["../../../src/services/mocks/group-role-resolver.mock.ts"],"names":[],"mappings":";;;;;;;;;AACA,iDAAoD;AAG7C,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,KAAK,CAAC,YAAY;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;CACF,CAAA;AAJY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,8BAAiB,GAAE;GACP,qBAAqB,CAIjC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mbc-cqrs-serverless/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "CQRS and event base core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mbc",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"serverless-step-functions-local": "^0.5.1",
|
|
89
89
|
"supertest": "^7.0.0"
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "9acc296b83e2120876c13dae8d44175345d3aa98"
|
|
92
92
|
}
|