@event-nest/mongodb 0.0.1 → 0.0.3

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 CHANGED
@@ -1,11 +1,4 @@
1
- # mongodb
1
+ # Event Nest | MongoDB
2
+ The MongoDB module for [Event Nest](https://www.npmjs.com/package/@event-nest/core)
2
3
 
3
- This library was generated with [Nx](https://nx.dev).
4
-
5
- ## Building
6
-
7
- Run `nx build mongodb` to build the library.
8
-
9
- ## Running unit tests
10
-
11
- Run `nx test mongodb` to execute the unit tests via [Jest](https://jestjs.io).
4
+ For a full documentation, please visit the [Event Nest](https://www.npmjs.com/package/@event-nest/core) package.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@event-nest/mongodb",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "license": "MIT",
5
- "description": "A MongoDB based implementation for the event-nest library. It uses MongoDB collections and transaction to store events and entity information",
5
+ "description": "A MongoDB based implementation for the event-nest library. It uses MongoDB collections and transactions to store events and entity information",
6
6
  "author": "Nick Tsitlakidis",
7
7
  "type": "commonjs",
8
8
  "keywords": [
@@ -13,15 +13,16 @@
13
13
  "mongodb"
14
14
  ],
15
15
  "peerDependencies": {
16
- "@nestjs/common": "^10.0.2",
17
- "@nestjs/core": "^10.0.2",
18
- "mongodb": "^5.6.0",
19
- "@event-nest/core": "0.0.1",
16
+ "@nestjs/common": "^9.0.0",
17
+ "@nestjs/core": "^9.0.0",
18
+ "reflect-metadata": "0.1.13",
19
+ "rxjs": "^7.2.0",
20
+ "@event-nest/core": "0.0.3",
20
21
  "tslib": "2.5.3"
21
22
  },
22
23
  "dependencies": {
23
24
  "class-transformer": "^0.5.1",
24
- "reflect-metadata": "^0.1.13"
25
+ "mongodb": "^5.6.0"
25
26
  },
26
27
  "main": "./src/index.js",
27
28
  "types": "./src/index.d.ts"
package/src/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export * from "./lib/mongodb.module";
1
+ export * from "./lib/event-nest-mongodb.module";
2
+ export * from "./lib/mongodb-module-options";
package/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./lib/mongodb.module"), exports);
4
+ tslib_1.__exportStar(require("./lib/event-nest-mongodb.module"), exports);
5
+ tslib_1.__exportStar(require("./lib/mongodb-module-options"), exports);
5
6
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/mongodb/src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/mongodb/src/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD;AAChD,uEAA6C"}
@@ -0,0 +1,12 @@
1
+ import { DynamicModule, OnApplicationBootstrap } from "@nestjs/common";
2
+ import { MongoDbModuleAsyncOptions, MongodbModuleOptions } from "./mongodb-module-options";
3
+ import { DomainEventEmitter } from "@event-nest/core";
4
+ import { ModulesContainer } from "@nestjs/core";
5
+ export declare class EventNestMongoDbModule implements OnApplicationBootstrap {
6
+ private readonly _eventBus;
7
+ private readonly _modulesContainer;
8
+ constructor(_eventBus: DomainEventEmitter, _modulesContainer: ModulesContainer);
9
+ static register(options: MongodbModuleOptions): DynamicModule;
10
+ static registerAsync(options: MongoDbModuleAsyncOptions): DynamicModule;
11
+ onApplicationBootstrap(): any;
12
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var EventNestMongoDbModule_1;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.EventNestMongoDbModule = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("@nestjs/common");
7
+ const core_1 = require("@event-nest/core");
8
+ const core_2 = require("@nestjs/core");
9
+ const module_providers_1 = require("./module-providers");
10
+ let EventNestMongoDbModule = exports.EventNestMongoDbModule = EventNestMongoDbModule_1 = class EventNestMongoDbModule {
11
+ constructor(_eventBus, _modulesContainer) {
12
+ this._eventBus = _eventBus;
13
+ this._modulesContainer = _modulesContainer;
14
+ }
15
+ static register(options) {
16
+ return {
17
+ module: EventNestMongoDbModule_1,
18
+ providers: (0, module_providers_1.createProviders)(options),
19
+ exports: [core_1.EVENT_STORE]
20
+ };
21
+ }
22
+ static registerAsync(options) {
23
+ return {
24
+ module: EventNestMongoDbModule_1,
25
+ providers: (0, module_providers_1.createAsyncProviders)(options),
26
+ exports: [core_1.EVENT_STORE]
27
+ };
28
+ }
29
+ onApplicationBootstrap() {
30
+ this._eventBus.bindSubscriptions(this._modulesContainer);
31
+ }
32
+ };
33
+ exports.EventNestMongoDbModule = EventNestMongoDbModule = EventNestMongoDbModule_1 = tslib_1.__decorate([
34
+ (0, common_1.Global)(),
35
+ (0, common_1.Module)({}),
36
+ tslib_1.__metadata("design:paramtypes", [core_1.DomainEventEmitter, core_2.ModulesContainer])
37
+ ], EventNestMongoDbModule);
38
+ //# sourceMappingURL=event-nest-mongodb.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-nest-mongodb.module.js","sourceRoot":"","sources":["../../../../../libs/mongodb/src/lib/event-nest-mongodb.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAAuF;AAEvF,2CAAmE;AACnE,uCAAgD;AAChD,yDAA2E;AAIpE,IAAM,sBAAsB,+DAA5B,MAAM,sBAAsB;IAC/B,YAA6B,SAA6B,EAAmB,iBAAmC;QAAnF,cAAS,GAAT,SAAS,CAAoB;QAAmB,sBAAiB,GAAjB,iBAAiB,CAAkB;IAAG,CAAC;IAEpH,MAAM,CAAC,QAAQ,CAAC,OAA6B;QACzC,OAAO;YACH,MAAM,EAAE,wBAAsB;YAC9B,SAAS,EAAE,IAAA,kCAAe,EAAC,OAAO,CAAC;YACnC,OAAO,EAAE,CAAC,kBAAW,CAAC;SACzB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,OAAkC;QACnD,OAAO;YACH,MAAM,EAAE,wBAAsB;YAC9B,SAAS,EAAE,IAAA,uCAAoB,EAAC,OAAO,CAAC;YACxC,OAAO,EAAE,CAAC,kBAAW,CAAC;SACzB,CAAC;IACN,CAAC;IAED,sBAAsB;QAClB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;CACJ,CAAA;iCAtBY,sBAAsB;IAFlC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;6CAEiC,yBAAkB,EAAsC,uBAAgB;GADvG,sBAAsB,CAsBlC"}
@@ -0,0 +1,4 @@
1
+ import { Provider } from "@nestjs/common";
2
+ import { MongoDbModuleAsyncOptions, MongodbModuleOptions } from "./mongodb-module-options";
3
+ export declare function createProviders(options: MongodbModuleOptions): Provider[];
4
+ export declare function createAsyncProviders(options: MongoDbModuleAsyncOptions): Provider[];
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAsyncProviders = exports.createProviders = void 0;
4
+ const core_1 = require("@event-nest/core");
5
+ const mongodb_1 = require("mongodb");
6
+ const mongo_event_store_1 = require("./storage/mongo-event-store");
7
+ function createProviders(options) {
8
+ return [
9
+ {
10
+ provide: core_1.DomainEventEmitter,
11
+ useFactory: () => {
12
+ return new core_1.DomainEventEmitter(options.runParallelSubscriptions);
13
+ }
14
+ },
15
+ {
16
+ provide: core_1.EVENT_STORE,
17
+ useFactory: (eventBus) => {
18
+ const mongoClient = new mongodb_1.MongoClient(options.connectionUri);
19
+ return new mongo_event_store_1.MongoEventStore(eventBus, mongoClient, options.aggregatesCollection, options.eventsCollection);
20
+ },
21
+ inject: [core_1.DomainEventEmitter]
22
+ }
23
+ ];
24
+ }
25
+ exports.createProviders = createProviders;
26
+ function createAsyncProviders(options) {
27
+ const optionsProvider = {
28
+ provide: "EVENT_NEST_OPTIONS",
29
+ useFactory: async (...args) => {
30
+ const mongoDbModuleOptions = await options.useFactory(...args);
31
+ return mongoDbModuleOptions;
32
+ },
33
+ inject: options.inject
34
+ };
35
+ const eventBusProvider = {
36
+ provide: core_1.DomainEventEmitter,
37
+ useFactory: (options) => {
38
+ return new core_1.DomainEventEmitter(options.runParallelSubscriptions);
39
+ },
40
+ inject: ["EVENT_NEST_OPTIONS"]
41
+ };
42
+ const eventStoreProvider = {
43
+ provide: core_1.EVENT_STORE,
44
+ useFactory: (options, eventBus) => {
45
+ const mongoClient = new mongodb_1.MongoClient(options.connectionUri);
46
+ return new mongo_event_store_1.MongoEventStore(eventBus, mongoClient, options.aggregatesCollection, options.eventsCollection);
47
+ },
48
+ inject: ["EVENT_NEST_OPTIONS", core_1.DomainEventEmitter]
49
+ };
50
+ return [optionsProvider, eventBusProvider, eventStoreProvider];
51
+ }
52
+ exports.createAsyncProviders = createAsyncProviders;
53
+ //# sourceMappingURL=module-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-providers.js","sourceRoot":"","sources":["../../../../../libs/mongodb/src/lib/module-providers.ts"],"names":[],"mappings":";;;AACA,2CAAmE;AAEnE,qCAAsC;AACtC,mEAA8D;AAE9D,SAAgB,eAAe,CAAC,OAA6B;IACzD,OAAO;QACH;YACI,OAAO,EAAE,yBAAkB;YAC3B,UAAU,EAAE,GAAG,EAAE;gBACb,OAAO,IAAI,yBAAkB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YACpE,CAAC;SACJ;QACD;YACI,OAAO,EAAE,kBAAW;YACpB,UAAU,EAAE,CAAC,QAA4B,EAAE,EAAE;gBACzC,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC3D,OAAO,IAAI,mCAAe,CACtB,QAAQ,EACR,WAAW,EACX,OAAO,CAAC,oBAAoB,EAC5B,OAAO,CAAC,gBAAgB,CAC3B,CAAC;YACN,CAAC;YACD,MAAM,EAAE,CAAC,yBAAkB,CAAC;SAC/B;KACJ,CAAC;AACN,CAAC;AAtBD,0CAsBC;AAED,SAAgB,oBAAoB,CAAC,OAAkC;IACnE,MAAM,eAAe,GAAG;QACpB,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;YACjC,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/D,OAAO,oBAAoB,CAAC;QAChC,CAAC;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC;IAEF,MAAM,gBAAgB,GAAG;QACrB,OAAO,EAAE,yBAAkB;QAC3B,UAAU,EAAE,CAAC,OAA6B,EAAE,EAAE;YAC1C,OAAO,IAAI,yBAAkB,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,EAAE,CAAC,oBAAoB,CAAC;KACjC,CAAC;IAEF,MAAM,kBAAkB,GAAG;QACvB,OAAO,EAAE,kBAAW;QACpB,UAAU,EAAE,CAAC,OAA6B,EAAE,QAA4B,EAAE,EAAE;YACxE,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3D,OAAO,IAAI,mCAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9G,CAAC;QACD,MAAM,EAAE,CAAC,oBAAoB,EAAE,yBAAkB,CAAC;KACrD,CAAC;IAEF,OAAO,CAAC,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AACnE,CAAC;AA5BD,oDA4BC"}
@@ -1,5 +1,19 @@
1
- export interface MongodbModuleSyncOptions {
1
+ import { CoreModuleOptions } from "@event-nest/core";
2
+ export interface MongodbModuleOptions extends CoreModuleOptions {
3
+ /**
4
+ * A valid connection string which will be used to connect to the MongoDB instance.
5
+ */
2
6
  connectionUri: string;
7
+ /**
8
+ * The name of the collection which will be used to store the aggregate root objects.
9
+ */
3
10
  aggregatesCollection: string;
11
+ /**
12
+ * The name of the collection which will be used to store the event objects
13
+ */
4
14
  eventsCollection: string;
5
15
  }
16
+ export interface MongoDbModuleAsyncOptions {
17
+ useFactory: (...args: any[]) => Promise<MongodbModuleOptions> | MongodbModuleOptions;
18
+ inject?: any[];
19
+ }
@@ -1,12 +1,12 @@
1
1
  import { MongoClient } from "mongodb";
2
- import { AbstractEventStore, StoredAggregateRoot, StoredEvent } from "@event-nest/core";
2
+ import { AbstractEventStore, AggregateRoot, AggregateRootClass, DomainEventEmitter, StoredAggregateRoot, StoredEvent } from "@event-nest/core";
3
3
  export declare class MongoEventStore extends AbstractEventStore {
4
4
  private _mongoClient;
5
5
  private _aggregatesCollectionName;
6
6
  private _eventsCollectionName;
7
7
  private _logger;
8
- constructor(_mongoClient: MongoClient, _aggregatesCollectionName: string, _eventsCollectionName: string);
9
- findByAggregateRootId(id: string): Promise<Array<StoredEvent>>;
8
+ constructor(eventBus: DomainEventEmitter, _mongoClient: MongoClient, _aggregatesCollectionName: string, _eventsCollectionName: string);
9
+ findByAggregateRootId<T extends AggregateRoot>(aggregateRootClass: AggregateRootClass<T>, id: string): Promise<Array<StoredEvent>>;
10
10
  generateEntityId(): Promise<string>;
11
11
  save(events: Array<StoredEvent>, aggregate: StoredAggregateRoot): Promise<Array<StoredEvent>>;
12
12
  }
@@ -6,22 +6,26 @@ const common_1 = require("@nestjs/common");
6
6
  const event_concurrency_exception_1 = require("./event-concurrency-exception");
7
7
  const core_1 = require("@event-nest/core");
8
8
  class MongoEventStore extends core_1.AbstractEventStore {
9
- constructor(_mongoClient, _aggregatesCollectionName, _eventsCollectionName) {
10
- super();
9
+ constructor(eventBus, _mongoClient, _aggregatesCollectionName, _eventsCollectionName) {
10
+ super(eventBus);
11
11
  this._mongoClient = _mongoClient;
12
12
  this._aggregatesCollectionName = _aggregatesCollectionName;
13
13
  this._eventsCollectionName = _eventsCollectionName;
14
14
  this._logger = new common_1.Logger(MongoEventStore.name);
15
15
  }
16
- async findByAggregateRootId(id) {
16
+ async findByAggregateRootId(aggregateRootClass, id) {
17
+ const aggregateRootName = (0, core_1.getAggregateRootName)(aggregateRootClass);
18
+ if ((0, core_1.isNil)(aggregateRootName)) {
19
+ throw new core_1.MissingAggregateRootNameException(aggregateRootClass.name);
20
+ }
17
21
  const documents = await this._mongoClient
18
22
  .db()
19
23
  .collection(this._eventsCollectionName)
20
- .find({ aggregateRootId: id })
24
+ .find({ aggregateRootId: id, aggregateRootName: aggregateRootName })
21
25
  .toArray();
22
26
  if (documents.length > 0) {
23
27
  return documents.map((doc) => {
24
- return core_1.StoredEvent.fromStorage(doc._id.toHexString(), doc["aggregateRootId"], doc["aggregateRootVersion"], doc["createdAt"], doc["eventName"], doc["payload"]);
28
+ return core_1.StoredEvent.fromStorage(doc._id.toHexString(), doc["aggregateRootId"], doc["eventName"], doc["createdAt"], doc["aggregateRootVersion"], doc["aggregateRootName"], doc["payload"]);
25
29
  });
26
30
  }
27
31
  return [];
@@ -70,6 +74,7 @@ class MongoEventStore extends core_1.AbstractEventStore {
70
74
  createdAt: ev.createdAt,
71
75
  aggregateRootId: ev.aggregateRootId,
72
76
  aggregateRootVersion: ev.aggregateRootVersion,
77
+ aggregateRootName: ev.aggregateRootName,
73
78
  eventName: ev.eventName,
74
79
  payload: ev.payload
75
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mongo-event-store.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/mongo-event-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo-event-store.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/mongo-event-store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { DynamicModule } from "@nestjs/common";
2
- import { MongodbModuleSyncOptions } from "./mongodb-module-options";
3
- export declare class MongodbModule {
4
- static forRoot(options: MongodbModuleSyncOptions): DynamicModule;
5
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var MongodbModule_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.MongodbModule = void 0;
5
- const tslib_1 = require("tslib");
6
- const common_1 = require("@nestjs/common");
7
- const event_store_provider_1 = require("./storage/event-store-provider");
8
- const core_1 = require("@event-nest/core");
9
- let MongodbModule = exports.MongodbModule = MongodbModule_1 = class MongodbModule {
10
- static forRoot(options) {
11
- return {
12
- module: MongodbModule_1,
13
- providers: [(0, event_store_provider_1.provideEventStore)(options)],
14
- exports: [core_1.EVENT_STORE]
15
- };
16
- }
17
- };
18
- exports.MongodbModule = MongodbModule = MongodbModule_1 = tslib_1.__decorate([
19
- (0, common_1.Global)(),
20
- (0, common_1.Module)({})
21
- ], MongodbModule);
22
- //# sourceMappingURL=mongodb.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongodb.module.js","sourceRoot":"","sources":["../../../../../libs/mongodb/src/lib/mongodb.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAA+D;AAE/D,yEAAmE;AACnE,2CAA+C;AAIxC,IAAM,aAAa,6CAAnB,MAAM,aAAa;IACtB,MAAM,CAAC,OAAO,CAAC,OAAiC;QAC5C,OAAO;YACH,MAAM,EAAE,eAAa;YACrB,SAAS,EAAE,CAAC,IAAA,wCAAiB,EAAC,OAAO,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,kBAAW,CAAC;SACzB,CAAC;IACN,CAAC;CACJ,CAAA;wBARY,aAAa;IAFzB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CAQzB"}
@@ -1,3 +0,0 @@
1
- import { Provider } from "@nestjs/common";
2
- import { MongodbModuleSyncOptions } from "../mongodb-module-options";
3
- export declare function provideEventStore(options: MongodbModuleSyncOptions): Provider;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.provideEventStore = void 0;
4
- const core_1 = require("@event-nest/core");
5
- const mongodb_1 = require("mongodb");
6
- const mongo_event_store_1 = require("./mongo-event-store");
7
- function provideEventStore(options) {
8
- return {
9
- provide: core_1.EVENT_STORE,
10
- useFactory: () => {
11
- const mongoClient = new mongodb_1.MongoClient(options.connectionUri);
12
- return new mongo_event_store_1.MongoEventStore(mongoClient, options.aggregatesCollection, options.eventsCollection);
13
- }
14
- };
15
- }
16
- exports.provideEventStore = provideEventStore;
17
- //# sourceMappingURL=event-store-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-store-provider.js","sourceRoot":"","sources":["../../../../../../libs/mongodb/src/lib/storage/event-store-provider.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,qCAAsC;AACtC,2DAAsD;AAEtD,SAAgB,iBAAiB,CAAC,OAAiC;IAC/D,OAAO;QACH,OAAO,EAAE,kBAAW;QACpB,UAAU,EAAE,GAAG,EAAE;YACb,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC3D,OAAO,IAAI,mCAAe,CAAC,WAAW,EAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACpG,CAAC;KACJ,CAAC;AACN,CAAC;AARD,8CAQC"}