@monorise/core 1.0.4-2 → 1.0.4-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/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/dist/processors/create-entity-processor.d.ts +2 -1
- package/dist/processors/create-entity-processor.d.ts.map +1 -1
- package/dist/processors/create-entity-processor.js +3 -4
- package/dist/processors/create-entity-processor.js.map +1 -1
- package/dist/processors/prejoin-processor.d.ts +2 -1
- package/dist/processors/prejoin-processor.d.ts.map +1 -1
- package/dist/processors/prejoin-processor.js +9 -11
- package/dist/processors/prejoin-processor.js.map +1 -1
- package/dist/processors/replication-processor.d.ts +2 -1
- package/dist/processors/replication-processor.d.ts.map +1 -1
- package/dist/processors/replication-processor.js +2 -3
- package/dist/processors/replication-processor.js.map +1 -1
- package/dist/processors/tag-processor.d.ts +2 -1
- package/dist/processors/tag-processor.d.ts.map +1 -1
- package/dist/processors/tag-processor.js +4 -5
- package/dist/processors/tag-processor.js.map +1 -1
- package/dist/services/DependencyContainer.d.ts +4 -1
- package/dist/services/DependencyContainer.d.ts.map +1 -1
- package/dist/services/DependencyContainer.js +10 -4
- package/dist/services/DependencyContainer.js.map +1 -1
- package/dist/services/entity-service-lifecycle.d.ts +7 -8
- package/dist/services/entity-service-lifecycle.d.ts.map +1 -1
- package/dist/services/entity-service-lifecycle.js +28 -18
- package/dist/services/entity-service-lifecycle.js.map +1 -1
- package/dist/services/entity.service.d.ts +4 -3
- package/dist/services/entity.service.d.ts.map +1 -1
- package/dist/services/entity.service.js +7 -12
- package/dist/services/entity.service.js.map +1 -1
- package/dist/services/mutual.service.d.ts +3 -3
- package/dist/services/mutual.service.d.ts.map +1 -1
- package/dist/services/mutual.service.js +4 -11
- package/dist/services/mutual.service.js.map +1 -1
- package/dist/types/event.js +1 -1
- package/dist/types/event.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,16 +3,24 @@ import { Entity } from './data/Entity';
|
|
|
3
3
|
import { Mutual } from './data/Mutual';
|
|
4
4
|
import { PROJECTION_EXPRESSION } from './data/ProjectionExpression';
|
|
5
5
|
import { handler as createEntityProcessor } from './processors/create-entity-processor';
|
|
6
|
+
import { handler as mutualProcessor } from './processors/mutual-processor';
|
|
7
|
+
import { handler as prejoinProcessor } from './processors/prejoin-processor';
|
|
6
8
|
import { handler as replicationProcessor } from './processors/replication-processor';
|
|
7
9
|
import { handler as tagProcessor } from './processors/tag-processor';
|
|
8
10
|
import { DependencyContainer } from './services/DependencyContainer';
|
|
9
11
|
declare class CoreFactory {
|
|
10
12
|
private EntityConfig;
|
|
11
13
|
private AllowedEntityTypes;
|
|
14
|
+
private EmailAuthEnabledEntities;
|
|
12
15
|
setupCommonRoutes: any;
|
|
13
16
|
mutualProcessor: any;
|
|
14
|
-
|
|
17
|
+
replicationProcessor: any;
|
|
18
|
+
createEntityProcessor: any;
|
|
19
|
+
prejoinProcessor: any;
|
|
20
|
+
tagProcessor: any;
|
|
21
|
+
dependencyContainer: any;
|
|
22
|
+
constructor(EntityConfig: any, AllowedEntityTypes: any[], EmailAuthEnabledEntities: string[]);
|
|
15
23
|
}
|
|
16
|
-
export { setupCommonRoutes, Entity, Mutual, PROJECTION_EXPRESSION, createEntityProcessor, replicationProcessor, tagProcessor, DependencyContainer, };
|
|
24
|
+
export { setupCommonRoutes, Entity, Mutual, PROJECTION_EXPRESSION, createEntityProcessor, mutualProcessor, prejoinProcessor, replicationProcessor, tagProcessor, DependencyContainer, };
|
|
17
25
|
export default CoreFactory;
|
|
18
26
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,cAAM,WAAW;IAUb,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,wBAAwB;IAX3B,iBAAiB,EAAE,GAAG,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;IACrB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,qBAAqB,EAAE,GAAG,CAAC;IAC3B,gBAAgB,EAAE,GAAG,CAAC;IACtB,YAAY,EAAE,GAAG,CAAC;IAClB,mBAAmB,EAAE,GAAG,CAAC;gBAGtB,YAAY,EAAE,GAAG,EACjB,kBAAkB,EAAE,GAAG,EAAE,EACzB,wBAAwB,EAAE,MAAM,EAAE;CAgB7C;AAED,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,GACpB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,26 +4,35 @@ import { Mutual } from './data/Mutual';
|
|
|
4
4
|
import { PROJECTION_EXPRESSION } from './data/ProjectionExpression';
|
|
5
5
|
import { handler as createEntityProcessor } from './processors/create-entity-processor';
|
|
6
6
|
import { handler as mutualProcessor } from './processors/mutual-processor';
|
|
7
|
-
|
|
7
|
+
import { handler as prejoinProcessor } from './processors/prejoin-processor';
|
|
8
8
|
import { handler as replicationProcessor } from './processors/replication-processor';
|
|
9
9
|
import { handler as tagProcessor } from './processors/tag-processor';
|
|
10
10
|
import { DependencyContainer } from './services/DependencyContainer';
|
|
11
11
|
class CoreFactory {
|
|
12
12
|
EntityConfig;
|
|
13
13
|
AllowedEntityTypes;
|
|
14
|
+
EmailAuthEnabledEntities;
|
|
14
15
|
setupCommonRoutes;
|
|
15
16
|
mutualProcessor;
|
|
16
|
-
|
|
17
|
+
replicationProcessor;
|
|
18
|
+
createEntityProcessor;
|
|
19
|
+
prejoinProcessor;
|
|
20
|
+
tagProcessor;
|
|
21
|
+
dependencyContainer;
|
|
22
|
+
constructor(EntityConfig, AllowedEntityTypes, EmailAuthEnabledEntities) {
|
|
17
23
|
this.EntityConfig = EntityConfig;
|
|
18
24
|
this.AllowedEntityTypes = AllowedEntityTypes;
|
|
19
|
-
|
|
25
|
+
this.EmailAuthEnabledEntities = EmailAuthEnabledEntities;
|
|
26
|
+
const dependencyContainer = new DependencyContainer(this.EntityConfig, this.AllowedEntityTypes, this.EmailAuthEnabledEntities);
|
|
27
|
+
this.dependencyContainer = dependencyContainer;
|
|
20
28
|
this.setupCommonRoutes = setupCommonRoutes(dependencyContainer);
|
|
21
29
|
this.mutualProcessor = mutualProcessor(dependencyContainer);
|
|
30
|
+
this.replicationProcessor = replicationProcessor(dependencyContainer);
|
|
31
|
+
this.createEntityProcessor = createEntityProcessor(dependencyContainer);
|
|
32
|
+
this.prejoinProcessor = prejoinProcessor(dependencyContainer);
|
|
33
|
+
this.tagProcessor = tagProcessor(dependencyContainer);
|
|
22
34
|
}
|
|
23
35
|
}
|
|
24
|
-
export { setupCommonRoutes, Entity, Mutual, PROJECTION_EXPRESSION, createEntityProcessor,
|
|
25
|
-
// mutualProcessor,
|
|
26
|
-
// prejoinProcessor,
|
|
27
|
-
replicationProcessor, tagProcessor, DependencyContainer, };
|
|
36
|
+
export { setupCommonRoutes, Entity, Mutual, PROJECTION_EXPRESSION, createEntityProcessor, mutualProcessor, prejoinProcessor, replicationProcessor, tagProcessor, DependencyContainer, };
|
|
28
37
|
export default CoreFactory;
|
|
29
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,MAAM,WAAW;IAUL;IACA;IACA;IAXH,iBAAiB,CAAM;IACvB,eAAe,CAAM;IACrB,oBAAoB,CAAM;IAC1B,qBAAqB,CAAM;IAC3B,gBAAgB,CAAM;IACtB,YAAY,CAAM;IAClB,mBAAmB,CAAM;IAEhC,YACU,YAAiB,EACjB,kBAAyB,EACzB,wBAAkC;QAFlC,iBAAY,GAAZ,YAAY,CAAK;QACjB,uBAAkB,GAAlB,kBAAkB,CAAO;QACzB,6BAAwB,GAAxB,wBAAwB,CAAU;QAE1C,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CACjD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,wBAAwB,CAC9B,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC;CACF;AAED,OAAO,EACL,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,GACpB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SQSBatchItemFailure, SQSEvent } from 'aws-lambda';
|
|
2
|
-
|
|
2
|
+
import type { DependencyContainer } from '../services/DependencyContainer';
|
|
3
|
+
export declare const handler: (container: DependencyContainer) => (ev: SQSEvent) => Promise<{
|
|
3
4
|
batchItemFailures: SQSBatchItemFailure[];
|
|
4
5
|
}>;
|
|
5
6
|
//# sourceMappingURL=create-entity-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-entity-processor.d.ts","sourceRoot":"","sources":["../../processors/create-entity-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"create-entity-processor.d.ts","sourceRoot":"","sources":["../../processors/create-entity-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAa3E,eAAO,MAAM,OAAO,GACjB,WAAW,mBAAmB,MAAY,IAAI,QAAQ;;EAuCtD,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { StandardError } from '../errors/standard-error';
|
|
2
2
|
import { parseSQSBusEvent } from '../helpers/event';
|
|
3
|
-
|
|
4
|
-
const container = new DependencyContainer();
|
|
5
|
-
export const handler = async (ev) => {
|
|
3
|
+
export const handler = (container) => async (ev) => {
|
|
6
4
|
const { entityService } = container;
|
|
7
5
|
const batchItemFailures = [];
|
|
8
6
|
for (const record of ev.Records) {
|
|
@@ -22,7 +20,8 @@ export const handler = async (ev) => {
|
|
|
22
20
|
}
|
|
23
21
|
catch (err) {
|
|
24
22
|
console.error('=====CREATE_ENTITY_PROCESSOR_ERROR=====', err, JSON.stringify({ errorContext }, null, 2));
|
|
25
|
-
if (err instanceof StandardError &&
|
|
23
|
+
if (err instanceof StandardError &&
|
|
24
|
+
err.code === 'INVALID_ENTITY_TYPE') {
|
|
26
25
|
continue; // do not retry
|
|
27
26
|
}
|
|
28
27
|
batchItemFailures.push({ itemIdentifier: record.messageId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-entity-processor.js","sourceRoot":"","sources":["../../processors/create-entity-processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-entity-processor.js","sourceRoot":"","sources":["../../processors/create-entity-processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAcpD,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,SAA8B,EAAE,EAAE,CAAC,KAAK,EAAE,EAAY,EAAE,EAAE;IACzD,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACpC,MAAM,iBAAiB,GAA0B,EAAE,CAAC;IAEpD,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,gBAAgB,CAAkB,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,GAC/D,MAAM,CAAC;QACT,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,YAAY,CAAC;gBAC/B,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,yCAAyC,EACzC,GAAG,EACH,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1C,CAAC;YAEF,IACE,GAAG,YAAY,aAAa;gBAC5B,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAClC,CAAC;gBACD,SAAS,CAAC,eAAe;YAC3B,CAAC;YAED,iBAAiB,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Entity } from '@monorise/base';
|
|
2
2
|
import type { SQSBatchItemFailure, SQSEvent } from 'aws-lambda';
|
|
3
|
+
import type { DependencyContainer } from '../services/DependencyContainer';
|
|
3
4
|
export type EventDetailBody = {
|
|
4
5
|
byEntityType: Entity;
|
|
5
6
|
byEntityId: string;
|
|
6
7
|
entityType: Entity;
|
|
7
8
|
publishedAt: string;
|
|
8
9
|
};
|
|
9
|
-
export declare const handler: (ev: SQSEvent) => Promise<{
|
|
10
|
+
export declare const handler: (container: DependencyContainer) => (ev: SQSEvent) => Promise<{
|
|
10
11
|
batchItemFailures: SQSBatchItemFailure[];
|
|
11
12
|
}>;
|
|
12
13
|
//# sourceMappingURL=prejoin-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prejoin-processor.d.ts","sourceRoot":"","sources":["../../processors/prejoin-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"prejoin-processor.d.ts","sourceRoot":"","sources":["../../processors/prejoin-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAI3E,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAyLF,eAAO,MAAM,OAAO,GACjB,WAAW,mBAAmB,MAAY,IAAI,QAAQ;;EA2DtD,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { PROJECTION_EXPRESSION } from '../data/ProjectionExpression';
|
|
2
2
|
import { parseSQSBusEvent } from '../helpers/event';
|
|
3
|
-
import { DependencyContainer } from '../services/DependencyContainer';
|
|
4
3
|
import { EVENT } from '../types/event';
|
|
5
|
-
const container = new DependencyContainer();
|
|
6
4
|
async function processPrejoins({ mutualRepository, publishEvent, byEntityType, byEntityId, prejoins, publishedAt, }) {
|
|
7
5
|
const mutualCache = {
|
|
8
6
|
/*
|
|
@@ -72,9 +70,9 @@ async function processPrejoins({ mutualRepository, publishEvent, byEntityType, b
|
|
|
72
70
|
});
|
|
73
71
|
}
|
|
74
72
|
}
|
|
75
|
-
async function publishToSubscribers({
|
|
76
|
-
const listeners = AllowedEntityTypes.reduce((acc, configKey) => {
|
|
77
|
-
const { subscribes } = EntityConfig[configKey].mutual ?? {};
|
|
73
|
+
async function publishToSubscribers({ container, publishEvent, byEntityType, byEntityId, publishedAt, }) {
|
|
74
|
+
const listeners = container.AllowedEntityTypes.reduce((acc, configKey) => {
|
|
75
|
+
const { subscribes } = container.EntityConfig[configKey].mutual ?? {};
|
|
78
76
|
const hasSubscription = (subscribes ?? []).some(({ entityType }) => entityType === byEntityType);
|
|
79
77
|
return [
|
|
80
78
|
...acc,
|
|
@@ -88,7 +86,7 @@ async function publishToSubscribers({ mutualRepository, publishEvent, byEntityTy
|
|
|
88
86
|
];
|
|
89
87
|
}, []);
|
|
90
88
|
// publish event for each interested entity
|
|
91
|
-
const subscribedMutualItems = await Promise.all(listeners.map(({ entityType: subscribedEntityType }) => mutualRepository.listEntitiesByEntity(byEntityType, byEntityId, subscribedEntityType, {
|
|
89
|
+
const subscribedMutualItems = await Promise.all(listeners.map(({ entityType: subscribedEntityType }) => container.mutualRepository.listEntitiesByEntity(byEntityType, byEntityId, subscribedEntityType, {
|
|
92
90
|
ProjectionExpression: PROJECTION_EXPRESSION.NO_DATA,
|
|
93
91
|
})));
|
|
94
92
|
const subscribedMutuals = subscribedMutualItems.flatMap((item) => item.items);
|
|
@@ -102,7 +100,7 @@ async function publishToSubscribers({ mutualRepository, publishEvent, byEntityTy
|
|
|
102
100
|
},
|
|
103
101
|
})));
|
|
104
102
|
}
|
|
105
|
-
export const handler = async (ev) => {
|
|
103
|
+
export const handler = (container) => async (ev) => {
|
|
106
104
|
const batchItemFailures = [];
|
|
107
105
|
const { mutualRepository, publishEvent } = container;
|
|
108
106
|
for (const record of ev.Records) {
|
|
@@ -113,8 +111,8 @@ export const handler = async (ev) => {
|
|
|
113
111
|
body,
|
|
114
112
|
};
|
|
115
113
|
try {
|
|
116
|
-
const isEntityTypeSubscribed = (EntityConfig[byEntityType]?.mutual?.subscribes ?? []).some(({ entityType: subscribedEntityType }) => subscribedEntityType === entityType);
|
|
117
|
-
const hasPrejoins = EntityConfig[byEntityType]?.mutual?.prejoins;
|
|
114
|
+
const isEntityTypeSubscribed = (container.EntityConfig[byEntityType]?.mutual?.subscribes ?? []).some(({ entityType: subscribedEntityType }) => subscribedEntityType === entityType);
|
|
115
|
+
const hasPrejoins = container.EntityConfig[byEntityType]?.mutual?.prejoins;
|
|
118
116
|
const shouldProcessPrejoins = isEntityTypeSubscribed && hasPrejoins;
|
|
119
117
|
errorContext = {
|
|
120
118
|
...errorContext,
|
|
@@ -128,12 +126,12 @@ export const handler = async (ev) => {
|
|
|
128
126
|
publishEvent,
|
|
129
127
|
byEntityType,
|
|
130
128
|
byEntityId,
|
|
131
|
-
prejoins: EntityConfig[byEntityType]?.mutual?.prejoins ?? [],
|
|
129
|
+
prejoins: container.EntityConfig[byEntityType]?.mutual?.prejoins ?? [],
|
|
132
130
|
publishedAt,
|
|
133
131
|
});
|
|
134
132
|
}
|
|
135
133
|
await publishToSubscribers({
|
|
136
|
-
|
|
134
|
+
container,
|
|
137
135
|
publishEvent,
|
|
138
136
|
byEntityType,
|
|
139
137
|
byEntityId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prejoin-processor.js","sourceRoot":"","sources":["../../processors/prejoin-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prejoin-processor.js","sourceRoot":"","sources":["../../processors/prejoin-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { _Record as DynamoDBStreamEvent } from '@aws-sdk/client-dynamodb-streams';
|
|
2
2
|
import type { DynamoDBBatchItemFailure } from 'aws-lambda';
|
|
3
|
-
|
|
3
|
+
import type { DependencyContainer } from '../services/DependencyContainer';
|
|
4
|
+
export declare const handler: (container: DependencyContainer) => (event: {
|
|
4
5
|
Records: DynamoDBStreamEvent[];
|
|
5
6
|
}) => Promise<{
|
|
6
7
|
batchItemFailures: DynamoDBBatchItemFailure[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication-processor.d.ts","sourceRoot":"","sources":["../../processors/replication-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,OAAO,IAAI,mBAAmB,EAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"replication-processor.d.ts","sourceRoot":"","sources":["../../processors/replication-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,OAAO,IAAI,mBAAmB,EAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAM3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAK3E,eAAO,MAAM,OAAO,GACjB,WAAW,mBAAmB,MACxB,OAAO;IAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAAE;;EAsP/C,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { ConditionalCheckFailedException } from '@aws-sdk/client-dynamodb';
|
|
2
2
|
import { ENTITY_REPLICATION_INDEX, MUTUAL_REPLICATION_INDEX, } from '../configs/service.config';
|
|
3
3
|
import { StandardError } from '../errors/standard-error';
|
|
4
|
-
|
|
5
|
-
const container = new DependencyContainer();
|
|
4
|
+
// const container = new DependencyContainer();
|
|
6
5
|
const TableName = process.env.DDB_TABLE;
|
|
7
|
-
export const handler = async (event) => {
|
|
6
|
+
export const handler = (container) => async (event) => {
|
|
8
7
|
const batchItemFailures = [];
|
|
9
8
|
const { dynamodbClient } = container;
|
|
10
9
|
for (const record of event.Records) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication-processor.js","sourceRoot":"","sources":["../../processors/replication-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAM3E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"replication-processor.js","sourceRoot":"","sources":["../../processors/replication-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Entity as EntityType } from '@monorise/base';
|
|
2
2
|
import type { SQSBatchItemFailure, SQSEvent } from 'aws-lambda';
|
|
3
|
+
import type { DependencyContainer } from '../services/DependencyContainer';
|
|
3
4
|
export type EventDetailBody = {
|
|
4
5
|
entityType: EntityType;
|
|
5
6
|
entityId: string;
|
|
6
7
|
data: Record<string, any>;
|
|
7
8
|
};
|
|
8
|
-
export declare const handler: (ev: SQSEvent) => Promise<{
|
|
9
|
+
export declare const handler: (container: DependencyContainer) => (ev: SQSEvent) => Promise<{
|
|
9
10
|
batchItemFailures: SQSBatchItemFailure[];
|
|
10
11
|
}>;
|
|
11
12
|
//# sourceMappingURL=tag-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-processor.d.ts","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"tag-processor.d.ts","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B,CAAC;AA0FF,eAAO,MAAM,OAAO,GACjB,WAAW,mBAAmB,MAAY,IAAI,QAAQ;;EAwEtD,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { parseSQSBusEvent } from '../helpers/event';
|
|
2
|
-
import { DependencyContainer } from '../services/DependencyContainer';
|
|
3
|
-
const container = new DependencyContainer();
|
|
4
2
|
function compareTags(existingTags, newTags) {
|
|
5
3
|
const oldMap = new Map(existingTags.map((item) => [`${item.group}#${item.sortValue}`, item]));
|
|
6
4
|
const newMap = new Map(newTags.map((item) => [`${item.group}#${item.sortValue}`, item]));
|
|
@@ -26,7 +24,7 @@ function compareTags(existingTags, newTags) {
|
|
|
26
24
|
remain,
|
|
27
25
|
};
|
|
28
26
|
}
|
|
29
|
-
async function batchUpdateTags({ tagName, entity, diff, }) {
|
|
27
|
+
async function batchUpdateTags({ container, tagName, entity, diff, }) {
|
|
30
28
|
if (!entity.entityId) {
|
|
31
29
|
throw new Error('entityId is required');
|
|
32
30
|
}
|
|
@@ -53,7 +51,7 @@ async function batchUpdateTags({ tagName, entity, diff, }) {
|
|
|
53
51
|
], []);
|
|
54
52
|
await Promise.all([...removePromises, ...addPromises]);
|
|
55
53
|
}
|
|
56
|
-
export const handler = async (ev) => {
|
|
54
|
+
export const handler = (container) => async (ev) => {
|
|
57
55
|
const batchItemFailures = [];
|
|
58
56
|
for (const record of ev.Records) {
|
|
59
57
|
const body = parseSQSBusEvent(record.body);
|
|
@@ -62,7 +60,7 @@ export const handler = async (ev) => {
|
|
|
62
60
|
const errorContext = {};
|
|
63
61
|
errorContext.body = body;
|
|
64
62
|
try {
|
|
65
|
-
const tagConfigs = EntityConfig[entityType]?.tags;
|
|
63
|
+
const tagConfigs = container.EntityConfig[entityType]?.tags;
|
|
66
64
|
if (!tagConfigs || !tagConfigs.length) {
|
|
67
65
|
// skip if entity has no tag configs
|
|
68
66
|
continue;
|
|
@@ -86,6 +84,7 @@ export const handler = async (ev) => {
|
|
|
86
84
|
const diff = compareTags(existingTags, newTags);
|
|
87
85
|
errorContext.diff = diff;
|
|
88
86
|
await batchUpdateTags({
|
|
87
|
+
container,
|
|
89
88
|
tagName: name,
|
|
90
89
|
entity,
|
|
91
90
|
diff,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-processor.js","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag-processor.js","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,13 +19,15 @@ import { UpdateMutualController } from '../controllers/mutual/update-mutual.cont
|
|
|
19
19
|
import { EntityService } from './entity.service';
|
|
20
20
|
import { MutualService } from './mutual.service';
|
|
21
21
|
import { ListTagsController } from '../controllers/tag/list-tags.controller';
|
|
22
|
+
import { EntityServiceLifeCycle } from './entity-service-lifecycle';
|
|
22
23
|
export declare class DependencyContainer {
|
|
23
24
|
EntityConfig: any;
|
|
24
25
|
AllowedEntityTypes: any[];
|
|
26
|
+
EmailAuthEnabledEntities: string[];
|
|
25
27
|
private _instanceCache;
|
|
26
28
|
private _publishEvent;
|
|
27
29
|
private _tableName;
|
|
28
|
-
constructor(EntityConfig: any, AllowedEntityTypes: any[]);
|
|
30
|
+
constructor(EntityConfig: any, AllowedEntityTypes: any[], EmailAuthEnabledEntities: string[]);
|
|
29
31
|
createCachedInstance<T extends new (...args: any[]) => any>(ClassRef: T, ...args: ConstructorParameters<T>): InstanceType<T>;
|
|
30
32
|
get coreTable(): string;
|
|
31
33
|
get publishEvent(): typeof publishEventType;
|
|
@@ -34,6 +36,7 @@ export declare class DependencyContainer {
|
|
|
34
36
|
get eventUtils(): EventUtils;
|
|
35
37
|
get entityRepository(): EntityRepository;
|
|
36
38
|
get mutualRepository(): MutualRepository;
|
|
39
|
+
get entityServiceLifeCycle(): EntityServiceLifeCycle;
|
|
37
40
|
get entityService(): EntityService;
|
|
38
41
|
get mutualService(): MutualService;
|
|
39
42
|
get tagRepository(): TagRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyContainer.d.ts","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"DependencyContainer.d.ts","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,15 +20,18 @@ import { UpdateMutualController } from '../controllers/mutual/update-mutual.cont
|
|
|
20
20
|
import { EntityService } from './entity.service';
|
|
21
21
|
import { MutualService } from './mutual.service';
|
|
22
22
|
import { ListTagsController } from '../controllers/tag/list-tags.controller';
|
|
23
|
+
import { EntityServiceLifeCycle } from './entity-service-lifecycle';
|
|
23
24
|
export class DependencyContainer {
|
|
24
25
|
EntityConfig;
|
|
25
26
|
AllowedEntityTypes;
|
|
27
|
+
EmailAuthEnabledEntities;
|
|
26
28
|
_instanceCache;
|
|
27
29
|
_publishEvent;
|
|
28
30
|
_tableName;
|
|
29
|
-
constructor(EntityConfig, AllowedEntityTypes) {
|
|
31
|
+
constructor(EntityConfig, AllowedEntityTypes, EmailAuthEnabledEntities) {
|
|
30
32
|
this.EntityConfig = EntityConfig;
|
|
31
33
|
this.AllowedEntityTypes = AllowedEntityTypes;
|
|
34
|
+
this.EmailAuthEnabledEntities = EmailAuthEnabledEntities;
|
|
32
35
|
this._instanceCache = new Map();
|
|
33
36
|
this._publishEvent = null;
|
|
34
37
|
this._tableName = CORE_TABLE;
|
|
@@ -62,7 +65,7 @@ export class DependencyContainer {
|
|
|
62
65
|
return this.createCachedInstance(DbUtils, this.dynamodbClient);
|
|
63
66
|
}
|
|
64
67
|
get eventUtils() {
|
|
65
|
-
return this.createCachedInstance(EventUtils, this.
|
|
68
|
+
return this.createCachedInstance(EventUtils, this.EntityConfig, this.publishEvent);
|
|
66
69
|
}
|
|
67
70
|
get entityRepository() {
|
|
68
71
|
return this.createCachedInstance(EntityRepository, this.EntityConfig, this.coreTable, this.dynamodbClient);
|
|
@@ -70,11 +73,14 @@ export class DependencyContainer {
|
|
|
70
73
|
get mutualRepository() {
|
|
71
74
|
return this.createCachedInstance(MutualRepository, this.coreTable, this.dynamodbClient, this.dbUtils);
|
|
72
75
|
}
|
|
76
|
+
get entityServiceLifeCycle() {
|
|
77
|
+
return this.createCachedInstance(EntityServiceLifeCycle, this.EntityConfig, this.publishEvent, this.eventUtils);
|
|
78
|
+
}
|
|
73
79
|
get entityService() {
|
|
74
|
-
return this.createCachedInstance(EntityService, this.EntityConfig, this.entityRepository, this.publishEvent, this.
|
|
80
|
+
return this.createCachedInstance(EntityService, this.EntityConfig, this.EmailAuthEnabledEntities, this.entityRepository, this.publishEvent, this.entityServiceLifeCycle);
|
|
75
81
|
}
|
|
76
82
|
get mutualService() {
|
|
77
|
-
return this.createCachedInstance(MutualService, this.entityRepository, this.mutualRepository, this.publishEvent, this.
|
|
83
|
+
return this.createCachedInstance(MutualService, this.entityRepository, this.mutualRepository, this.publishEvent, this.dbUtils, this.entityServiceLifeCycle);
|
|
78
84
|
}
|
|
79
85
|
get tagRepository() {
|
|
80
86
|
return this.createCachedInstance(TagRepository, this.coreTable, this.dynamodbClient);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyContainer.js","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"DependencyContainer.js","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,11 @@ import type { Entity as EntityType } from '@monorise/base';
|
|
|
2
2
|
import type { Entity } from '../data/Entity';
|
|
3
3
|
import type { EventUtils } from '../data/EventUtils';
|
|
4
4
|
import type { publishEvent as publishEventType } from '../helpers/event';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}) => Promise<void>;
|
|
5
|
+
export declare class EntityServiceLifeCycle {
|
|
6
|
+
private EntityConfig;
|
|
7
|
+
private publishEvent;
|
|
8
|
+
private eventUtils;
|
|
9
|
+
constructor(EntityConfig: any, publishEvent: typeof publishEventType, eventUtils: EventUtils);
|
|
10
|
+
afterCreateEntityHook<T extends EntityType>(entity: Entity<T>, entityPayload?: Record<string, unknown>, accountId?: string | string[]): Promise<void>;
|
|
11
|
+
}
|
|
13
12
|
//# sourceMappingURL=entity-service-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-service-lifecycle.d.ts","sourceRoot":"","sources":["../../services/entity-service-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-service-lifecycle.d.ts","sourceRoot":"","sources":["../../services/entity-service-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,UAAU;gBAFV,YAAY,EAAE,GAAG,EACjB,YAAY,EAAE,OAAO,gBAAgB,EACrC,UAAU,EAAE,UAAU;IAG1B,qBAAqB,CAAC,CAAC,SAAS,UAAU,EAC9C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;CAwBhC"}
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import { EVENT } from '../types/event';
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
export class EntityServiceLifeCycle {
|
|
3
|
+
EntityConfig;
|
|
4
|
+
publishEvent;
|
|
5
|
+
eventUtils;
|
|
6
|
+
constructor(EntityConfig, publishEvent, eventUtils) {
|
|
7
|
+
this.EntityConfig = EntityConfig;
|
|
8
|
+
this.publishEvent = publishEvent;
|
|
9
|
+
this.eventUtils = eventUtils;
|
|
10
|
+
}
|
|
11
|
+
async afterCreateEntityHook(entity, entityPayload, accountId) {
|
|
12
|
+
const mutualSchema = this.EntityConfig[entity.entityType].mutual?.mutualSchema;
|
|
13
|
+
const parsedMutualPayload = mutualSchema?.parse(entityPayload);
|
|
14
|
+
if (parsedMutualPayload) {
|
|
15
|
+
await this.eventUtils.publishCreateMutualsEvent({
|
|
16
|
+
entity,
|
|
17
|
+
mutualPayload: parsedMutualPayload,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
await this.publishEvent({
|
|
21
|
+
event: EVENT.CORE.ENTITY_CREATED,
|
|
22
|
+
payload: {
|
|
23
|
+
entityType: entity.entityType,
|
|
24
|
+
entityId: entity.entityId,
|
|
25
|
+
data: entity.data,
|
|
26
|
+
createdByAccountId: accountId,
|
|
27
|
+
publishedAt: entity.updatedAt || new Date().toISOString(),
|
|
28
|
+
},
|
|
9
29
|
});
|
|
10
30
|
}
|
|
11
|
-
|
|
12
|
-
event: EVENT.CORE.ENTITY_CREATED,
|
|
13
|
-
payload: {
|
|
14
|
-
entityType: entity.entityType,
|
|
15
|
-
entityId: entity.entityId,
|
|
16
|
-
data: entity.data,
|
|
17
|
-
createdByAccountId: accountId,
|
|
18
|
-
publishedAt: entity.updatedAt || new Date().toISOString(),
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
};
|
|
31
|
+
}
|
|
22
32
|
//# sourceMappingURL=entity-service-lifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-service-lifecycle.js","sourceRoot":"","sources":["../../services/entity-service-lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entity-service-lifecycle.js","sourceRoot":"","sources":["../../services/entity-service-lifecycle.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,OAAO,sBAAsB;IAEvB;IACA;IACA;IAHV,YACU,YAAiB,EACjB,YAAqC,EACrC,UAAsB;QAFtB,iBAAY,GAAZ,YAAY,CAAK;QACjB,iBAAY,GAAZ,YAAY,CAAyB;QACrC,eAAU,GAAV,UAAU,CAAY;IAC7B,CAAC;IAEJ,KAAK,CAAC,qBAAqB,CACzB,MAAiB,EACjB,aAAuC,EACvC,SAA6B;QAE7B,MAAM,YAAY,GAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC;QAC5D,MAAM,mBAAmB,GAAG,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAE/D,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC;gBAC9C,MAAM;gBACN,aAAa,EAAE,mBAAmB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC;YACtB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc;YAChC,OAAO,EAAE;gBACP,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,kBAAkB,EAAE,SAAS;gBAC7B,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAC1D;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { Entity, EntitySchemaMap } from '@monorise/base';
|
|
2
2
|
import type { EntityRepository } from '../data/Entity';
|
|
3
|
-
import type { EventUtils } from '../data/EventUtils';
|
|
4
3
|
import type { publishEvent as publishEventType } from '../helpers/event';
|
|
4
|
+
import type { EntityServiceLifeCycle } from './entity-service-lifecycle';
|
|
5
5
|
export declare class EntityService {
|
|
6
6
|
private EntityConfig;
|
|
7
|
+
private EmailAuthEnabledEntities;
|
|
7
8
|
private entityRepository;
|
|
8
9
|
private publishEvent;
|
|
9
|
-
private
|
|
10
|
-
constructor(EntityConfig: any, entityRepository: EntityRepository, publishEvent: typeof publishEventType,
|
|
10
|
+
private entityServiceLifeCycle;
|
|
11
|
+
constructor(EntityConfig: any, EmailAuthEnabledEntities: string[], entityRepository: EntityRepository, publishEvent: typeof publishEventType, entityServiceLifeCycle: EntityServiceLifeCycle);
|
|
11
12
|
createEntity: <T extends Entity>({ entityType, entityId, entityPayload, accountId, options, }: {
|
|
12
13
|
entityType: T;
|
|
13
14
|
entityPayload: EntitySchemaMap[T];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.service.d.ts","sourceRoot":"","sources":["../../services/entity.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.service.d.ts","sourceRoot":"","sources":["../../services/entity.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,qBAAa,aAAa;IAEtB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,sBAAsB;gBAJtB,YAAY,EAAE,GAAG,EACjB,wBAAwB,EAAE,MAAM,EAAE,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,OAAO,gBAAgB,EACrC,sBAAsB,EAAE,sBAAsB;IAGxD,YAAY,GAAU,CAAC,SAAS,MAAM,EAAE,8DAMrC;QACD,UAAU,EAAE,CAAC,CAAC;QACd,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE;YACR,uBAAuB,CAAC,EAAE,MAAM,CAAC;YACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,qCAoDC;IAEF,YAAY,GAAU,CAAC,SAAS,MAAM,EAAE,qDAKrC;QACD,UAAU,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC/B,qCA4EC;IAEF,YAAY,GAAU,CAAC,SAAS,MAAM,EAAE,sCAIrC;QACD,UAAU,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC/B,mBAWC;CACH"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { StandardError } from '../errors/standard-error';
|
|
3
3
|
import { EVENT } from '../types/event';
|
|
4
|
-
import { afterCreateEntityHook } from './entity-service-lifecycle';
|
|
5
4
|
export class EntityService {
|
|
6
5
|
EntityConfig;
|
|
6
|
+
EmailAuthEnabledEntities;
|
|
7
7
|
entityRepository;
|
|
8
8
|
publishEvent;
|
|
9
|
-
|
|
10
|
-
constructor(EntityConfig, entityRepository, publishEvent,
|
|
9
|
+
entityServiceLifeCycle;
|
|
10
|
+
constructor(EntityConfig, EmailAuthEnabledEntities, entityRepository, publishEvent, entityServiceLifeCycle) {
|
|
11
11
|
this.EntityConfig = EntityConfig;
|
|
12
|
+
this.EmailAuthEnabledEntities = EmailAuthEnabledEntities;
|
|
12
13
|
this.entityRepository = entityRepository;
|
|
13
14
|
this.publishEvent = publishEvent;
|
|
14
|
-
this.
|
|
15
|
+
this.entityServiceLifeCycle = entityServiceLifeCycle;
|
|
15
16
|
}
|
|
16
17
|
createEntity = async ({ entityType, entityId, entityPayload, accountId, options, }) => {
|
|
17
18
|
const finalSchema = this.EntityConfig[entityType].finalSchema;
|
|
@@ -27,7 +28,7 @@ export class EntityService {
|
|
|
27
28
|
// TODO: Create entity to accept mutual payload, so that mutual
|
|
28
29
|
// relationship can be formed when creating entity
|
|
29
30
|
// const parsedMutualPayload = mutualSchema?.parse(entityPayload);
|
|
30
|
-
if (EmailAuthEnabledEntities.includes(entityType)) {
|
|
31
|
+
if (this.EmailAuthEnabledEntities.includes(entityType)) {
|
|
31
32
|
await this.entityRepository.getEmailAvailability(entityType, parsedEntityPayload.email);
|
|
32
33
|
}
|
|
33
34
|
const entity = await this.entityRepository.createEntity(entityType, parsedEntityPayload, entityId, {
|
|
@@ -40,13 +41,7 @@ export class EntityService {
|
|
|
40
41
|
? new Date(options.createAndUpdateDatetime)
|
|
41
42
|
: new Date(),
|
|
42
43
|
});
|
|
43
|
-
await afterCreateEntityHook(
|
|
44
|
-
entity,
|
|
45
|
-
entityPayload,
|
|
46
|
-
accountId,
|
|
47
|
-
publishEvent: this.publishEvent,
|
|
48
|
-
eventUtils: this.eventUtils,
|
|
49
|
-
});
|
|
44
|
+
await this.entityServiceLifeCycle.afterCreateEntityHook(entity, entityPayload, accountId);
|
|
50
45
|
return entity;
|
|
51
46
|
};
|
|
52
47
|
updateEntity = async ({ entityType, entityId, entityPayload, accountId, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.service.js","sourceRoot":"","sources":["../../services/entity.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.service.js","sourceRoot":"","sources":["../../services/entity.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,16 @@ import type { AttributeValue } from '@aws-sdk/client-dynamodb';
|
|
|
2
2
|
import type { Entity as EntityType } from '@monorise/base';
|
|
3
3
|
import type { DbUtils } from '../data/DbUtils';
|
|
4
4
|
import { type EntityRepository } from '../data/Entity';
|
|
5
|
-
import type { EventUtils } from '../data/EventUtils';
|
|
6
5
|
import { Mutual, type MutualRepository } from '../data/Mutual';
|
|
7
6
|
import type { publishEvent as publishEventType } from '../helpers/event';
|
|
7
|
+
import type { EntityServiceLifeCycle } from './entity-service-lifecycle';
|
|
8
8
|
export declare class MutualService {
|
|
9
9
|
private entityRepository;
|
|
10
10
|
private mutualRepository;
|
|
11
11
|
private publishEvent;
|
|
12
|
-
private eventUtils;
|
|
13
12
|
private ddbUtils;
|
|
14
|
-
|
|
13
|
+
private entityServiceLifeCycle;
|
|
14
|
+
constructor(entityRepository: EntityRepository, mutualRepository: MutualRepository, publishEvent: typeof publishEventType, ddbUtils: DbUtils, entityServiceLifeCycle: EntityServiceLifeCycle);
|
|
15
15
|
createMutual: <B extends EntityType, T extends EntityType, A extends EntityType>({ byEntityType, byEntityId, entityType, entityId, mutualPayload, accountId, options, }: {
|
|
16
16
|
byEntityType: B;
|
|
17
17
|
byEntityId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutual.service.d.ts","sourceRoot":"","sources":["../../services/mutual.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAmB,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAU,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"mutual.service.d.ts","sourceRoot":"","sources":["../../services/mutual.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAmB,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAU,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,qBAAa,aAAa;IAEtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,sBAAsB;gBAJtB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,OAAO,gBAAgB,EACrC,QAAQ,EAAE,OAAO,EACjB,sBAAsB,EAAE,sBAAsB;IAGxD,YAAY,GACV,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,EACpB,wFAQC;QACD,YAAY,EAAE,CAAC,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,CAAC,CAAC;YAKb,iCAAiC,CAAC,EAAE,OAAO,CAAC;YAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;YAGlB,kBAAkB,CAAC,EAAE,OAAO,CAAC;YAC7B,uBAAuB,CAAC,EAAE,IAAI,CAAC;YAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;YAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,yBAAyB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;SAC5D,CAAC;KACH;;;;;;;;;;;OA6IC;IAEF,YAAY,GACV,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,wFAQC;QACD,YAAY,EAAE,CAAC,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,CAAC,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE;YACR,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;SAC9B,CAAC;KACH,gEAyBC;IAEF,YAAY,GAAU,gEAMnB;QACD,YAAY,EAAE,UAAU,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,UAAU,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC/B,sEAoBC;CACH"}
|
|
@@ -3,19 +3,18 @@ import { z } from 'zod';
|
|
|
3
3
|
import { Entity } from '../data/Entity';
|
|
4
4
|
import { Mutual } from '../data/Mutual';
|
|
5
5
|
import { EVENT } from '../types/event';
|
|
6
|
-
import { afterCreateEntityHook } from './entity-service-lifecycle';
|
|
7
6
|
export class MutualService {
|
|
8
7
|
entityRepository;
|
|
9
8
|
mutualRepository;
|
|
10
9
|
publishEvent;
|
|
11
|
-
eventUtils;
|
|
12
10
|
ddbUtils;
|
|
13
|
-
|
|
11
|
+
entityServiceLifeCycle;
|
|
12
|
+
constructor(entityRepository, mutualRepository, publishEvent, ddbUtils, entityServiceLifeCycle) {
|
|
14
13
|
this.entityRepository = entityRepository;
|
|
15
14
|
this.mutualRepository = mutualRepository;
|
|
16
15
|
this.publishEvent = publishEvent;
|
|
17
|
-
this.eventUtils = eventUtils;
|
|
18
16
|
this.ddbUtils = ddbUtils;
|
|
17
|
+
this.entityServiceLifeCycle = entityServiceLifeCycle;
|
|
19
18
|
}
|
|
20
19
|
createMutual = async ({ byEntityType, byEntityId, entityType, entityId, mutualPayload, accountId, options = {}, }) => {
|
|
21
20
|
const { ensureEntityStrongConsistentWrite = false, asEntity, createAndUpdateDatetime, mutualId, skipMutualCreation = false, ConditionExpression, ExpressionAttributeNames, ExpressionAttributeValues, } = options;
|
|
@@ -65,13 +64,7 @@ export class MutualService {
|
|
|
65
64
|
});
|
|
66
65
|
// duplicated behaviour from entityService.createEntity after write success
|
|
67
66
|
if (asEntity && entity && ensureEntityStrongConsistentWrite) {
|
|
68
|
-
await afterCreateEntityHook(
|
|
69
|
-
entity,
|
|
70
|
-
entityPayload: mutualPayload,
|
|
71
|
-
accountId,
|
|
72
|
-
publishEvent: this.publishEvent,
|
|
73
|
-
eventUtils: this.eventUtils,
|
|
74
|
-
});
|
|
67
|
+
await this.entityServiceLifeCycle.afterCreateEntityHook(entity, mutualPayload, accountId);
|
|
75
68
|
}
|
|
76
69
|
// publish an event to create entity if asEntity defined
|
|
77
70
|
// since it's event-driven, it would be the creation of entity
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutual.service.js","sourceRoot":"","sources":["../../services/mutual.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAyB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mutual.service.js","sourceRoot":"","sources":["../../services/mutual.service.ts"],"names":[],"mappings":"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"}
|
package/dist/types/event.js
CHANGED
package/dist/types/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../types/event.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../types/event.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,SAAS;CACnB,CAAC;AAOF,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE;QACJ,qBAAqB,EAAE;YACrB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,uBAAuB;SACpC;QAED;;WAEG;QACH,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,gBAAgB;SAC7B;QACD,eAAe,EAAE;YACf,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,iBAAiB;SAC9B;QACD,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,gBAAgB;SAC7B;QACD,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,gBAAgB;SAC7B;QACD,uBAAuB,EAAE;YACvB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,yBAAyB;SACtC;QACD,uBAAuB,EAAE;YACvB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,yBAAyB;SACtC;QACD,uBAAuB,EAAE;YACvB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,yBAAyB;SACtC;QAED,aAAa,EAAE;YACb,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,eAAe;SAC5B;QAED;;WAEG;QACH,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,gBAAgB;SAC7B;QACD,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,gBAAgB;SAC7B;QACD,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,gBAAgB;SAC7B;QACD,yBAAyB,EAAE;YACzB,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,2BAA2B;SACxC;KACF;IAED,OAAO,EAAE;QACP,cAAc,EAAE;YACd,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,UAAU,EAAE,gBAAgB;SAC7B;KACF;CACF,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC"}
|