@monorise/core 1.0.4-7 → 3.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/dist/constants/table.d.ts +0 -1
- package/dist/constants/table.d.ts.map +1 -1
- package/dist/constants/table.js +0 -1
- package/dist/constants/table.js.map +1 -1
- package/dist/controllers/entity/create-entity.controller.d.ts +1 -2
- package/dist/controllers/entity/create-entity.controller.d.ts.map +1 -1
- package/dist/controllers/entity/create-entity.controller.js +54 -34
- package/dist/controllers/entity/create-entity.controller.js.map +1 -1
- package/dist/controllers/entity/delete-entity.controller.d.ts +1 -2
- package/dist/controllers/entity/delete-entity.controller.d.ts.map +1 -1
- package/dist/controllers/entity/delete-entity.controller.js +30 -21
- package/dist/controllers/entity/delete-entity.controller.js.map +1 -1
- package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts +7 -0
- package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts.map +1 -0
- package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js +36 -0
- package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js.map +1 -0
- package/dist/controllers/entity/get-entity.controller.d.ts +1 -2
- package/dist/controllers/entity/get-entity.controller.d.ts.map +1 -1
- package/dist/controllers/entity/get-entity.controller.js +30 -17
- package/dist/controllers/entity/get-entity.controller.js.map +1 -1
- package/dist/controllers/entity/list-entities.controller.d.ts +1 -2
- package/dist/controllers/entity/list-entities.controller.d.ts.map +1 -1
- package/dist/controllers/entity/list-entities.controller.js +44 -39
- package/dist/controllers/entity/list-entities.controller.js.map +1 -1
- package/dist/controllers/entity/update-entity.controller.d.ts +1 -2
- package/dist/controllers/entity/update-entity.controller.d.ts.map +1 -1
- package/dist/controllers/entity/update-entity.controller.js +52 -35
- package/dist/controllers/entity/update-entity.controller.js.map +1 -1
- package/dist/controllers/entity/upsert-entity.controller.d.ts +3 -3
- package/dist/controllers/entity/upsert-entity.controller.d.ts.map +1 -1
- package/dist/controllers/entity/upsert-entity.controller.js +70 -60
- package/dist/controllers/entity/upsert-entity.controller.js.map +1 -1
- package/dist/controllers/mutual/create-mutual.controller.d.ts +2 -4
- package/dist/controllers/mutual/create-mutual.controller.d.ts.map +1 -1
- package/dist/controllers/mutual/create-mutual.controller.js +51 -45
- package/dist/controllers/mutual/create-mutual.controller.js.map +1 -1
- package/dist/controllers/mutual/delete-mutual.controller.d.ts +1 -2
- package/dist/controllers/mutual/delete-mutual.controller.d.ts.map +1 -1
- package/dist/controllers/mutual/delete-mutual.controller.js +32 -23
- package/dist/controllers/mutual/delete-mutual.controller.js.map +1 -1
- package/dist/controllers/mutual/get-mutual.controller.d.ts +1 -2
- package/dist/controllers/mutual/get-mutual.controller.d.ts.map +1 -1
- package/dist/controllers/mutual/get-mutual.controller.js +29 -17
- package/dist/controllers/mutual/get-mutual.controller.js.map +1 -1
- package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts +1 -2
- package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts.map +1 -1
- package/dist/controllers/mutual/list-entities-by-entity.controller.js +60 -44
- package/dist/controllers/mutual/list-entities-by-entity.controller.js.map +1 -1
- package/dist/controllers/mutual/update-mutual.controller.d.ts +1 -2
- package/dist/controllers/mutual/update-mutual.controller.d.ts.map +1 -1
- package/dist/controllers/mutual/update-mutual.controller.js +44 -30
- package/dist/controllers/mutual/update-mutual.controller.js.map +1 -1
- package/dist/controllers/setupRoutes.d.ts +2 -3
- package/dist/controllers/setupRoutes.d.ts.map +1 -1
- package/dist/controllers/setupRoutes.js +19 -17
- package/dist/controllers/setupRoutes.js.map +1 -1
- package/dist/controllers/tag/list-tags.controller.d.ts +1 -2
- package/dist/controllers/tag/list-tags.controller.d.ts.map +1 -1
- package/dist/controllers/tag/list-tags.controller.js +42 -33
- package/dist/controllers/tag/list-tags.controller.js.map +1 -1
- package/dist/data/DbUtils.js +24 -13
- package/dist/data/DbUtils.js.map +1 -1
- package/dist/data/Entity.d.ts +14 -10
- package/dist/data/Entity.d.ts.map +1 -1
- package/dist/data/Entity.js +370 -227
- package/dist/data/Entity.js.map +1 -1
- package/dist/data/EventUtils.d.ts +3 -3
- package/dist/data/EventUtils.d.ts.map +1 -1
- package/dist/data/EventUtils.js +35 -27
- package/dist/data/EventUtils.js.map +1 -1
- package/dist/data/Mutual.d.ts +7 -8
- package/dist/data/Mutual.d.ts.map +1 -1
- package/dist/data/Mutual.js +288 -341
- package/dist/data/Mutual.js.map +1 -1
- package/dist/data/Tag.d.ts +2 -2
- package/dist/data/Tag.d.ts.map +1 -1
- package/dist/data/Tag.js +229 -230
- package/dist/data/Tag.js.map +1 -1
- package/dist/data/abstract/Repository.base.js +4 -7
- package/dist/data/abstract/Repository.base.js.map +1 -1
- package/dist/errors/extendable-error.js +0 -7
- package/dist/errors/extendable-error.js.map +1 -1
- package/dist/errors/standard-error.d.ts +22 -0
- package/dist/errors/standard-error.d.ts.map +1 -1
- package/dist/errors/standard-error.js +21 -3
- package/dist/errors/standard-error.js.map +1 -1
- package/dist/handles/app.d.ts +16 -0
- package/dist/handles/app.d.ts.map +1 -0
- package/dist/handles/app.js +31 -0
- package/dist/handles/app.js.map +1 -0
- package/dist/helpers/event.d.ts.map +1 -1
- package/dist/helpers/event.js +35 -34
- package/dist/helpers/event.js.map +1 -1
- package/dist/index.d.ts +24 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -21
- package/dist/index.js.map +1 -1
- package/dist/middlewares/api-key-auth.d.ts +3 -0
- package/dist/middlewares/api-key-auth.d.ts.map +1 -0
- package/dist/middlewares/api-key-auth.js +32 -0
- package/dist/middlewares/api-key-auth.js.map +1 -0
- package/dist/middlewares/entity-type-check.d.ts +1 -1
- package/dist/middlewares/entity-type-check.d.ts.map +1 -1
- package/dist/middlewares/entity-type-check.js +17 -7
- package/dist/middlewares/entity-type-check.js.map +1 -1
- package/dist/middlewares/general-error-handler.d.ts +7 -0
- package/dist/middlewares/general-error-handler.d.ts.map +1 -0
- package/dist/middlewares/general-error-handler.js +40 -0
- package/dist/middlewares/general-error-handler.js.map +1 -0
- package/dist/middlewares/mutual-type-check.d.ts +1 -1
- package/dist/middlewares/mutual-type-check.d.ts.map +1 -1
- package/dist/middlewares/mutual-type-check.js +18 -8
- package/dist/middlewares/mutual-type-check.js.map +1 -1
- package/dist/processors/create-entity-processor.d.ts.map +1 -1
- package/dist/processors/create-entity-processor.js +17 -5
- package/dist/processors/create-entity-processor.js.map +1 -1
- package/dist/processors/mutual-processor.d.ts.map +1 -1
- package/dist/processors/mutual-processor.js +39 -29
- package/dist/processors/mutual-processor.js.map +1 -1
- package/dist/processors/prejoin-processor.d.ts.map +1 -1
- package/dist/processors/prejoin-processor.js +117 -104
- package/dist/processors/prejoin-processor.js.map +1 -1
- package/dist/processors/replication-processor.d.ts.map +1 -1
- package/dist/processors/replication-processor.js +31 -31
- package/dist/processors/replication-processor.js.map +1 -1
- package/dist/processors/tag-processor.js +48 -35
- package/dist/processors/tag-processor.js.map +1 -1
- package/dist/services/DependencyContainer.d.ts +16 -7
- package/dist/services/DependencyContainer.d.ts.map +1 -1
- package/dist/services/DependencyContainer.js +13 -24
- package/dist/services/DependencyContainer.js.map +1 -1
- package/dist/services/entity-service-lifecycle.js +29 -20
- package/dist/services/entity-service-lifecycle.js.map +1 -1
- package/dist/services/entity.service.d.ts +6 -6
- package/dist/services/entity.service.d.ts.map +1 -1
- package/dist/services/entity.service.js +96 -93
- package/dist/services/entity.service.js.map +1 -1
- package/dist/services/mutual.service.js +117 -113
- package/dist/services/mutual.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/entity.type.d.ts.map +1 -1
- package/dist/types/event.d.ts +4 -3
- package/dist/types/event.d.ts.map +1 -1
- package/dist/types/event.js +9 -9
- package/dist/types/event.js.map +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +10 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +8 -6
- package/dist/mock/entity.d.ts +0 -13
- package/dist/mock/entity.d.ts.map +0 -1
- package/dist/mock/entity.js +0 -14
- package/dist/mock/entity.js.map +0 -1
- package/dist/mock/monorise/admin.d.ts +0 -127
- package/dist/mock/monorise/admin.d.ts.map +0 -1
- package/dist/mock/monorise/admin.js +0 -29
- package/dist/mock/monorise/admin.js.map +0 -1
- package/dist/mock/monorise/chapter.d.ts +0 -457
- package/dist/mock/monorise/chapter.d.ts.map +0 -1
- package/dist/mock/monorise/chapter.js +0 -81
- package/dist/mock/monorise/chapter.js.map +0 -1
- package/dist/mock/monorise/course.d.ts +0 -311
- package/dist/mock/monorise/course.d.ts.map +0 -1
- package/dist/mock/monorise/course.js +0 -128
- package/dist/mock/monorise/course.js.map +0 -1
- package/dist/mock/monorise/index.d.ts +0 -3599
- package/dist/mock/monorise/index.d.ts.map +0 -1
- package/dist/mock/monorise/index.js +0 -62
- package/dist/mock/monorise/index.js.map +0 -1
- package/dist/mock/monorise/learner.d.ts +0 -390
- package/dist/mock/monorise/learner.d.ts.map +0 -1
- package/dist/mock/monorise/learner.js +0 -59
- package/dist/mock/monorise/learner.js.map +0 -1
- package/dist/mock/monorise/learning-activity.d.ts +0 -266
- package/dist/mock/monorise/learning-activity.d.ts.map +0 -1
- package/dist/mock/monorise/learning-activity.js +0 -50
- package/dist/mock/monorise/learning-activity.js.map +0 -1
- package/dist/mock/monorise/learning-journey-config.d.ts +0 -84
- package/dist/mock/monorise/learning-journey-config.d.ts.map +0 -1
- package/dist/mock/monorise/learning-journey-config.js +0 -27
- package/dist/mock/monorise/learning-journey-config.js.map +0 -1
- package/dist/mock/monorise/module.d.ts +0 -211
- package/dist/mock/monorise/module.d.ts.map +0 -1
- package/dist/mock/monorise/module.js +0 -91
- package/dist/mock/monorise/module.js.map +0 -1
- package/dist/mock/monorise/organization.d.ts +0 -346
- package/dist/mock/monorise/organization.d.ts.map +0 -1
- package/dist/mock/monorise/organization.js +0 -54
- package/dist/mock/monorise/organization.js.map +0 -1
- package/dist/mock/monorise/reference.d.ts +0 -171
- package/dist/mock/monorise/reference.d.ts.map +0 -1
- package/dist/mock/monorise/reference.js +0 -25
- package/dist/mock/monorise/reference.js.map +0 -1
- package/dist/mock/monorise/video.d.ts +0 -346
- package/dist/mock/monorise/video.d.ts.map +0 -1
- package/dist/mock/monorise/video.js +0 -33
- package/dist/mock/monorise/video.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prejoin-processor.js","sourceRoot":"","sources":["../../processors/prejoin-processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKpD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASvC,
|
|
1
|
+
{"version":3,"file":"prejoin-processor.js","sourceRoot":"","sources":["../../processors/prejoin-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAM3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,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;AAE3E,eAAO,MAAM,OAAO,GACjB,WAAW,mBAAmB,MACxB,OAAO;IAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAAE;;EAuP/C,CAAC"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { ConditionalCheckFailedException } from '@aws-sdk/client-dynamodb';
|
|
2
11
|
import { ENTITY_REPLICATION_INDEX, MUTUAL_REPLICATION_INDEX, } from '../configs/service.config';
|
|
3
|
-
import { StandardError } from '../errors/standard-error';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
import { StandardError, StandardErrorCode } from '../errors/standard-error';
|
|
13
|
+
export const handler = (container) => (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
15
|
+
const TableName = process.env.DDB_TABLE || container.coreTable;
|
|
7
16
|
const batchItemFailures = [];
|
|
8
17
|
const { dynamodbClient } = container;
|
|
9
18
|
for (const record of event.Records) {
|
|
@@ -11,12 +20,12 @@ export const handler = (container) => async (event) => {
|
|
|
11
20
|
errorContext.record = record;
|
|
12
21
|
try {
|
|
13
22
|
if (record.eventName === 'MODIFY') {
|
|
14
|
-
const modifiedItem = record.dynamodb
|
|
23
|
+
const modifiedItem = (_a = record.dynamodb) === null || _a === void 0 ? void 0 : _a.NewImage;
|
|
15
24
|
if (!modifiedItem) {
|
|
16
25
|
continue;
|
|
17
26
|
}
|
|
18
|
-
const isMetadata = modifiedItem.SK.S
|
|
19
|
-
const isMutual = modifiedItem.PK.S
|
|
27
|
+
const isMetadata = (_b = modifiedItem.SK.S) === null || _b === void 0 ? void 0 : _b.startsWith('#METADATA#');
|
|
28
|
+
const isMutual = ((_c = modifiedItem.PK.S) === null || _c === void 0 ? void 0 : _c.startsWith('MUTUAL#')) && isMetadata;
|
|
20
29
|
const isEntity = isMetadata && !isMutual;
|
|
21
30
|
if (!isEntity && !isMutual) {
|
|
22
31
|
// skip replicated data
|
|
@@ -78,12 +87,7 @@ export const handler = (container) => async (event) => {
|
|
|
78
87
|
let toBeReplicatedItems = [];
|
|
79
88
|
let lastKey;
|
|
80
89
|
do {
|
|
81
|
-
const queryResult =
|
|
82
|
-
TableName,
|
|
83
|
-
IndexName: targetIndexName,
|
|
84
|
-
KeyConditionExpression: `#${targetRPK} = :${targetRPK}`,
|
|
85
|
-
...queryExpression,
|
|
86
|
-
});
|
|
90
|
+
const queryResult = yield dynamodbClient.query(Object.assign({ TableName, IndexName: targetIndexName, KeyConditionExpression: `#${targetRPK} = :${targetRPK}` }, queryExpression));
|
|
87
91
|
toBeReplicatedItems = [
|
|
88
92
|
...toBeReplicatedItems,
|
|
89
93
|
...(queryResult.Items || []),
|
|
@@ -92,27 +96,23 @@ export const handler = (container) => async (event) => {
|
|
|
92
96
|
} while (lastKey);
|
|
93
97
|
errorContext.toBeReplicatedItems = toBeReplicatedItems;
|
|
94
98
|
const updatePromises = toBeReplicatedItems.map((item) => {
|
|
95
|
-
const updateParams = {
|
|
96
|
-
TableName,
|
|
97
|
-
Key: {
|
|
99
|
+
const updateParams = Object.assign({ TableName, Key: {
|
|
98
100
|
PK: item.PK,
|
|
99
101
|
SK: item.SK,
|
|
100
|
-
},
|
|
101
|
-
...updateExpession,
|
|
102
|
-
};
|
|
102
|
+
} }, updateExpession);
|
|
103
103
|
return dynamodbClient.updateItem(updateParams);
|
|
104
104
|
});
|
|
105
|
-
const results =
|
|
105
|
+
const results = yield Promise.allSettled(updatePromises);
|
|
106
106
|
errorContext.results = results;
|
|
107
107
|
if (results.some((result) => result.status === 'rejected' &&
|
|
108
108
|
!(result.reason instanceof ConditionalCheckFailedException))) {
|
|
109
|
-
throw new StandardError(
|
|
109
|
+
throw new StandardError(StandardErrorCode.REPLICATION_ERROR, 'Replication error', null, errorContext);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
if (record.eventName === 'REMOVE') {
|
|
113
|
-
const removedKeys = record.dynamodb
|
|
114
|
-
const isMetadata = removedKeys.SK.S
|
|
115
|
-
const isMutual = removedKeys.PK.S
|
|
113
|
+
const removedKeys = ((_d = record.dynamodb) === null || _d === void 0 ? void 0 : _d.Keys) || {};
|
|
114
|
+
const isMetadata = (_e = removedKeys.SK.S) === null || _e === void 0 ? void 0 : _e.startsWith('#METADATA#');
|
|
115
|
+
const isMutual = ((_f = removedKeys.PK.S) === null || _f === void 0 ? void 0 : _f.startsWith('MUTUAL#')) && isMetadata;
|
|
116
116
|
const isEntity = isMetadata && !isMutual;
|
|
117
117
|
if (!isEntity && !isMutual) {
|
|
118
118
|
continue;
|
|
@@ -127,7 +127,7 @@ export const handler = (container) => async (event) => {
|
|
|
127
127
|
let itemsToDelete = [];
|
|
128
128
|
let lastKey;
|
|
129
129
|
do {
|
|
130
|
-
const queryResult =
|
|
130
|
+
const queryResult = yield dynamodbClient.query({
|
|
131
131
|
TableName,
|
|
132
132
|
IndexName: targetIndexName,
|
|
133
133
|
KeyConditionExpression: `#${targetRPK} = :${targetRPK}`,
|
|
@@ -142,15 +142,15 @@ export const handler = (container) => async (event) => {
|
|
|
142
142
|
lastKey = queryResult.LastEvaluatedKey;
|
|
143
143
|
} while (lastKey);
|
|
144
144
|
const mutualsToDelete = Array.from(new Set(itemsToDelete
|
|
145
|
-
.filter((item) => item.R2PK
|
|
146
|
-
.map((filteredItem) => filteredItem.R2PK
|
|
145
|
+
.filter((item) => { var _a, _b; return (_b = (_a = item.R2PK) === null || _a === void 0 ? void 0 : _a.S) === null || _b === void 0 ? void 0 : _b.startsWith('MUTUAL#'); })
|
|
146
|
+
.map((filteredItem) => { var _a; return (_a = filteredItem.R2PK) === null || _a === void 0 ? void 0 : _a.S; })));
|
|
147
147
|
mutualsToDelete.forEach((mutual) => {
|
|
148
148
|
if (!mutual) {
|
|
149
149
|
return;
|
|
150
150
|
}
|
|
151
151
|
itemsToDelete.push({ PK: { S: mutual }, SK: { S: '#METADATA#' } });
|
|
152
152
|
});
|
|
153
|
-
const deleteResults =
|
|
153
|
+
const deleteResults = yield Promise.allSettled(itemsToDelete.map((item) => dynamodbClient.deleteItem({
|
|
154
154
|
TableName,
|
|
155
155
|
Key: {
|
|
156
156
|
PK: item.PK,
|
|
@@ -160,7 +160,7 @@ export const handler = (container) => async (event) => {
|
|
|
160
160
|
errorContext.deleteResults = deleteResults;
|
|
161
161
|
if (deleteResults.some((result) => result.status === 'rejected' &&
|
|
162
162
|
!(result.reason instanceof ConditionalCheckFailedException))) {
|
|
163
|
-
throw new StandardError(
|
|
163
|
+
throw new StandardError(StandardErrorCode.REPLICATION_ERROR, 'Replication error', null, errorContext);
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -168,7 +168,7 @@ export const handler = (container) => async (event) => {
|
|
|
168
168
|
console.error('====REPLICATION_ERROR', error);
|
|
169
169
|
console.log('====REPLICATION_ERROR errorContext', JSON.stringify(errorContext, null, 2));
|
|
170
170
|
batchItemFailures.push({
|
|
171
|
-
itemIdentifier: record.dynamodb
|
|
171
|
+
itemIdentifier: ((_g = record.dynamodb) === null || _g === void 0 ? void 0 : _g.SequenceNumber) || '',
|
|
172
172
|
});
|
|
173
173
|
// immediately return to prevent processing the rest
|
|
174
174
|
// because stream will restart from this point again
|
|
@@ -176,5 +176,5 @@ export const handler = (container) => async (event) => {
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
return { batchItemFailures };
|
|
179
|
-
};
|
|
179
|
+
});
|
|
180
180
|
//# sourceMappingURL=replication-processor.js.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"replication-processor.js","sourceRoot":"","sources":["../../processors/replication-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { parseSQSBusEvent } from '../helpers/event';
|
|
2
11
|
function compareTags(existingTags, newTags) {
|
|
3
12
|
const oldMap = new Map(existingTags.map((item) => [`${item.group}#${item.sortValue}`, item]));
|
|
@@ -24,34 +33,38 @@ function compareTags(existingTags, newTags) {
|
|
|
24
33
|
remain,
|
|
25
34
|
};
|
|
26
35
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
36
|
+
function batchUpdateTags(_a) {
|
|
37
|
+
return __awaiter(this, arguments, void 0, function* ({ container, tagName, entity, diff, }) {
|
|
38
|
+
if (!entity.entityId) {
|
|
39
|
+
throw new Error('entityId is required');
|
|
40
|
+
}
|
|
41
|
+
const { old: tagsToRemove, new: tagsToAdd } = diff;
|
|
42
|
+
const { entityType, entityId } = entity;
|
|
43
|
+
const removePromises = tagsToRemove.reduce((acc, tag) => [
|
|
44
|
+
...acc,
|
|
45
|
+
container.tagRepository.deleteTag({
|
|
46
|
+
tagName,
|
|
47
|
+
group: tag.group,
|
|
48
|
+
sortValue: tag.sortValue,
|
|
49
|
+
entityType,
|
|
50
|
+
entityId,
|
|
51
|
+
}),
|
|
52
|
+
], []);
|
|
53
|
+
yield Promise.all(removePromises);
|
|
54
|
+
const addPromises = tagsToAdd.reduce((acc, tag) => [
|
|
55
|
+
...acc,
|
|
56
|
+
container.tagRepository.createTag({
|
|
57
|
+
tagName,
|
|
58
|
+
group: tag.group,
|
|
59
|
+
sortValue: tag.sortValue,
|
|
60
|
+
entity,
|
|
61
|
+
}),
|
|
62
|
+
], []);
|
|
63
|
+
yield Promise.all(addPromises);
|
|
64
|
+
});
|
|
53
65
|
}
|
|
54
|
-
export const handler = (container) =>
|
|
66
|
+
export const handler = (container) => (ev) => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
+
var _a;
|
|
55
68
|
const batchItemFailures = [];
|
|
56
69
|
for (const record of ev.Records) {
|
|
57
70
|
const body = parseSQSBusEvent(record.body);
|
|
@@ -60,37 +73,37 @@ export const handler = (container) => async (ev) => {
|
|
|
60
73
|
const errorContext = {};
|
|
61
74
|
errorContext.body = body;
|
|
62
75
|
try {
|
|
63
|
-
const tagConfigs = container.EntityConfig[entityType]
|
|
76
|
+
const tagConfigs = (_a = container.config.EntityConfig[entityType]) === null || _a === void 0 ? void 0 : _a.tags;
|
|
64
77
|
if (!tagConfigs || !tagConfigs.length) {
|
|
65
78
|
// skip if entity has no tag configs
|
|
66
79
|
continue;
|
|
67
80
|
}
|
|
68
|
-
|
|
81
|
+
yield container.tagRepository.createLock({
|
|
69
82
|
entityType,
|
|
70
83
|
entityId,
|
|
71
84
|
});
|
|
72
85
|
for (const tagConfig of tagConfigs) {
|
|
73
86
|
const { name, processor } = tagConfig;
|
|
74
|
-
const existingTags =
|
|
87
|
+
const existingTags = yield container.tagRepository.getExistingTags({
|
|
75
88
|
entityType,
|
|
76
89
|
entityId,
|
|
77
90
|
tagName: name,
|
|
78
91
|
});
|
|
79
92
|
errorContext.existingTags = existingTags;
|
|
80
|
-
const entity =
|
|
93
|
+
const entity = yield container.entityRepository.getEntity(entityType, entityId);
|
|
81
94
|
errorContext.entity = entity;
|
|
82
|
-
const newTags =
|
|
95
|
+
const newTags = yield processor(entity);
|
|
83
96
|
errorContext.newTags = newTags;
|
|
84
97
|
const diff = compareTags(existingTags, newTags);
|
|
85
98
|
errorContext.diff = diff;
|
|
86
|
-
|
|
99
|
+
yield batchUpdateTags({
|
|
87
100
|
container,
|
|
88
101
|
tagName: name,
|
|
89
102
|
entity,
|
|
90
103
|
diff,
|
|
91
104
|
});
|
|
92
105
|
}
|
|
93
|
-
|
|
106
|
+
yield container.tagRepository.deleteLock({
|
|
94
107
|
entityType,
|
|
95
108
|
entityId,
|
|
96
109
|
});
|
|
@@ -101,5 +114,5 @@ export const handler = (container) => async (ev) => {
|
|
|
101
114
|
}
|
|
102
115
|
}
|
|
103
116
|
return { batchItemFailures };
|
|
104
|
-
};
|
|
117
|
+
});
|
|
105
118
|
//# sourceMappingURL=tag-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-processor.js","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUpD,SAAS,WAAW,CAClB,YAAmB,EACnB,OAAc;IAMd,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,CACtE,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,OAAO,GAAU,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,+CAA+C;QACrE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,OAAO;QACZ,MAAM;KACP,CAAC;AACJ,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"tag-processor.js","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DynamoDB } from '@aws-sdk/client-dynamodb';
|
|
2
|
-
import
|
|
2
|
+
import type { Entity, createEntityConfig } from '@monorise/base';
|
|
3
|
+
import type { publishEvent as publishEventType } from '../helpers/event';
|
|
3
4
|
import { DbUtils } from '../data/DbUtils';
|
|
4
5
|
import { EntityRepository } from '../data/Entity';
|
|
5
6
|
import { EventUtils } from '../data/EventUtils';
|
|
@@ -7,6 +8,7 @@ import { MutualRepository } from '../data/Mutual';
|
|
|
7
8
|
import { TagRepository } from '../data/Tag';
|
|
8
9
|
import { CreateEntityController } from '../controllers/entity/create-entity.controller';
|
|
9
10
|
import { DeleteEntityController } from '../controllers/entity/delete-entity.controller';
|
|
11
|
+
import { GetEntityByUniqueFieldValueController } from '../controllers/entity/get-entity-by-unique-field-value.controller';
|
|
10
12
|
import { GetEntityController } from '../controllers/entity/get-entity.controller';
|
|
11
13
|
import { ListEntitiesController } from '../controllers/entity/list-entities.controller';
|
|
12
14
|
import { UpdateEntityController } from '../controllers/entity/update-entity.controller';
|
|
@@ -21,14 +23,21 @@ import { MutualService } from './mutual.service';
|
|
|
21
23
|
import { ListTagsController } from '../controllers/tag/list-tags.controller';
|
|
22
24
|
import { EntityServiceLifeCycle } from './entity-service-lifecycle';
|
|
23
25
|
export declare class DependencyContainer {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
config: {
|
|
27
|
+
EntityConfig: Record<Entity, ReturnType<typeof createEntityConfig>>;
|
|
28
|
+
AllowedEntityTypes: Entity[];
|
|
29
|
+
EmailAuthEnabledEntities: Entity[];
|
|
30
|
+
tableName?: string;
|
|
31
|
+
};
|
|
28
32
|
private _instanceCache;
|
|
29
33
|
private _publishEvent;
|
|
30
34
|
private _tableName;
|
|
31
|
-
constructor(
|
|
35
|
+
constructor(config: {
|
|
36
|
+
EntityConfig: Record<Entity, ReturnType<typeof createEntityConfig>>;
|
|
37
|
+
AllowedEntityTypes: Entity[];
|
|
38
|
+
EmailAuthEnabledEntities: Entity[];
|
|
39
|
+
tableName?: string;
|
|
40
|
+
});
|
|
32
41
|
createCachedInstance<T extends new (...args: any[]) => any>(ClassRef: T, ...args: ConstructorParameters<T>): InstanceType<T>;
|
|
33
42
|
get coreTable(): string;
|
|
34
43
|
get publishEvent(): typeof publishEventType;
|
|
@@ -42,6 +51,7 @@ export declare class DependencyContainer {
|
|
|
42
51
|
get mutualService(): MutualService;
|
|
43
52
|
get tagRepository(): TagRepository;
|
|
44
53
|
get getEntityController(): GetEntityController;
|
|
54
|
+
get getEntityByUniqueFieldController(): GetEntityByUniqueFieldValueController;
|
|
45
55
|
get listEntitiesController(): ListEntitiesController;
|
|
46
56
|
get createEntityController(): CreateEntityController;
|
|
47
57
|
get upsertEntityController(): UpsertEntityController;
|
|
@@ -53,6 +63,5 @@ export declare class DependencyContainer {
|
|
|
53
63
|
get updateMutualController(): UpdateMutualController;
|
|
54
64
|
get deleteMutualController(): DeleteMutualController;
|
|
55
65
|
get listTagsController(): ListTagsController;
|
|
56
|
-
get createMutualLifeCycle(): any;
|
|
57
66
|
}
|
|
58
67
|
//# sourceMappingURL=DependencyContainer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyContainer.d.ts","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DependencyContainer.d.ts","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { MutualRepository } from '../data/Mutual';
|
|
|
8
8
|
import { TagRepository } from '../data/Tag';
|
|
9
9
|
import { CreateEntityController } from '../controllers/entity/create-entity.controller';
|
|
10
10
|
import { DeleteEntityController } from '../controllers/entity/delete-entity.controller';
|
|
11
|
+
import { GetEntityByUniqueFieldValueController } from '../controllers/entity/get-entity-by-unique-field-value.controller';
|
|
11
12
|
import { GetEntityController } from '../controllers/entity/get-entity.controller';
|
|
12
13
|
import { ListEntitiesController } from '../controllers/entity/list-entities.controller';
|
|
13
14
|
import { UpdateEntityController } from '../controllers/entity/update-entity.controller';
|
|
@@ -22,21 +23,11 @@ import { MutualService } from './mutual.service';
|
|
|
22
23
|
import { ListTagsController } from '../controllers/tag/list-tags.controller';
|
|
23
24
|
import { EntityServiceLifeCycle } from './entity-service-lifecycle';
|
|
24
25
|
export class DependencyContainer {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
EmailAuthEnabledEntities;
|
|
28
|
-
CreateMutualLifeCycle;
|
|
29
|
-
_instanceCache;
|
|
30
|
-
_publishEvent;
|
|
31
|
-
_tableName;
|
|
32
|
-
constructor(EntityConfig, AllowedEntityTypes, EmailAuthEnabledEntities, CreateMutualLifeCycle) {
|
|
33
|
-
this.EntityConfig = EntityConfig;
|
|
34
|
-
this.AllowedEntityTypes = AllowedEntityTypes;
|
|
35
|
-
this.EmailAuthEnabledEntities = EmailAuthEnabledEntities;
|
|
36
|
-
this.CreateMutualLifeCycle = CreateMutualLifeCycle;
|
|
26
|
+
constructor(config) {
|
|
27
|
+
this.config = config;
|
|
37
28
|
this._instanceCache = new Map();
|
|
38
29
|
this._publishEvent = null;
|
|
39
|
-
this._tableName = CORE_TABLE;
|
|
30
|
+
this._tableName = config.tableName || CORE_TABLE;
|
|
40
31
|
}
|
|
41
32
|
createCachedInstance(ClassRef, ...args) {
|
|
42
33
|
const cacheKey = ClassRef.name;
|
|
@@ -67,19 +58,19 @@ export class DependencyContainer {
|
|
|
67
58
|
return this.createCachedInstance(DbUtils, this.dynamodbClient);
|
|
68
59
|
}
|
|
69
60
|
get eventUtils() {
|
|
70
|
-
return this.createCachedInstance(EventUtils, this.EntityConfig, this.publishEvent);
|
|
61
|
+
return this.createCachedInstance(EventUtils, this.config.EntityConfig, this.publishEvent);
|
|
71
62
|
}
|
|
72
63
|
get entityRepository() {
|
|
73
|
-
return this.createCachedInstance(EntityRepository, this.EntityConfig, this.coreTable, this.dynamodbClient, this.EmailAuthEnabledEntities);
|
|
64
|
+
return this.createCachedInstance(EntityRepository, this.config.EntityConfig, this.coreTable, this.dynamodbClient, this.config.EmailAuthEnabledEntities);
|
|
74
65
|
}
|
|
75
66
|
get mutualRepository() {
|
|
76
67
|
return this.createCachedInstance(MutualRepository, this.coreTable, this.dynamodbClient, this.dbUtils);
|
|
77
68
|
}
|
|
78
69
|
get entityServiceLifeCycle() {
|
|
79
|
-
return this.createCachedInstance(EntityServiceLifeCycle, this.EntityConfig, this.publishEvent, this.eventUtils);
|
|
70
|
+
return this.createCachedInstance(EntityServiceLifeCycle, this.config.EntityConfig, this.publishEvent, this.eventUtils);
|
|
80
71
|
}
|
|
81
72
|
get entityService() {
|
|
82
|
-
return this.createCachedInstance(EntityService, this.EntityConfig, this.EmailAuthEnabledEntities, this.entityRepository, this.publishEvent, this.entityServiceLifeCycle);
|
|
73
|
+
return this.createCachedInstance(EntityService, this.config.EntityConfig, this.config.EmailAuthEnabledEntities, this.entityRepository, this.publishEvent, this.entityServiceLifeCycle);
|
|
83
74
|
}
|
|
84
75
|
get mutualService() {
|
|
85
76
|
return this.createCachedInstance(MutualService, this.entityRepository, this.mutualRepository, this.publishEvent, this.dbUtils, this.entityServiceLifeCycle);
|
|
@@ -90,6 +81,9 @@ export class DependencyContainer {
|
|
|
90
81
|
get getEntityController() {
|
|
91
82
|
return this.createCachedInstance(GetEntityController, this.entityRepository);
|
|
92
83
|
}
|
|
84
|
+
get getEntityByUniqueFieldController() {
|
|
85
|
+
return this.createCachedInstance(GetEntityByUniqueFieldValueController, this.entityRepository);
|
|
86
|
+
}
|
|
93
87
|
get listEntitiesController() {
|
|
94
88
|
return this.createCachedInstance(ListEntitiesController, this.entityRepository);
|
|
95
89
|
}
|
|
@@ -97,7 +91,7 @@ export class DependencyContainer {
|
|
|
97
91
|
return this.createCachedInstance(CreateEntityController, this.entityService);
|
|
98
92
|
}
|
|
99
93
|
get upsertEntityController() {
|
|
100
|
-
return this.createCachedInstance(UpsertEntityController, this.EntityConfig, this.entityRepository, this.publishEvent);
|
|
94
|
+
return this.createCachedInstance(UpsertEntityController, this.config.EntityConfig, this.entityRepository, this.publishEvent);
|
|
101
95
|
}
|
|
102
96
|
get updateEntityController() {
|
|
103
97
|
return this.createCachedInstance(UpdateEntityController, this.entityService);
|
|
@@ -112,7 +106,7 @@ export class DependencyContainer {
|
|
|
112
106
|
return this.createCachedInstance(GetMutualController, this.mutualRepository);
|
|
113
107
|
}
|
|
114
108
|
get createMutualController() {
|
|
115
|
-
return this.createCachedInstance(CreateMutualController, this.mutualService
|
|
109
|
+
return this.createCachedInstance(CreateMutualController, this.mutualService);
|
|
116
110
|
}
|
|
117
111
|
get updateMutualController() {
|
|
118
112
|
return this.createCachedInstance(UpdateMutualController, this.mutualService);
|
|
@@ -123,10 +117,5 @@ export class DependencyContainer {
|
|
|
123
117
|
get listTagsController() {
|
|
124
118
|
return this.createCachedInstance(ListTagsController, this.tagRepository);
|
|
125
119
|
}
|
|
126
|
-
get createMutualLifeCycle() {
|
|
127
|
-
if (!this.CreateMutualLifeCycle)
|
|
128
|
-
return null;
|
|
129
|
-
return this.createCachedInstance(this.CreateMutualLifeCycle, this.publishEvent);
|
|
130
|
-
}
|
|
131
120
|
}
|
|
132
121
|
//# sourceMappingURL=DependencyContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyContainer.js","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DependencyContainer.js","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,40 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { EVENT } from '../types/event';
|
|
2
11
|
export class EntityServiceLifeCycle {
|
|
3
|
-
EntityConfig;
|
|
4
|
-
publishEvent;
|
|
5
|
-
eventUtils;
|
|
6
12
|
constructor(EntityConfig, publishEvent, eventUtils) {
|
|
7
13
|
this.EntityConfig = EntityConfig;
|
|
8
14
|
this.publishEvent = publishEvent;
|
|
9
15
|
this.eventUtils = eventUtils;
|
|
10
16
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
afterCreateEntityHook(entity, entityPayload, accountId) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
var _a;
|
|
20
|
+
const mutualSchema = (_a = this.EntityConfig[entity.entityType].mutual) === null || _a === void 0 ? void 0 : _a.mutualSchema;
|
|
21
|
+
const parsedMutualPayload = mutualSchema === null || mutualSchema === void 0 ? void 0 : mutualSchema.parse(entityPayload);
|
|
22
|
+
if (parsedMutualPayload) {
|
|
23
|
+
yield this.eventUtils.publishCreateMutualsEvent({
|
|
24
|
+
entity,
|
|
25
|
+
mutualPayload: parsedMutualPayload,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
yield this.publishEvent({
|
|
29
|
+
event: EVENT.CORE.ENTITY_CREATED,
|
|
30
|
+
payload: {
|
|
31
|
+
entityType: entity.entityType,
|
|
32
|
+
entityId: entity.entityId,
|
|
33
|
+
data: entity.data,
|
|
34
|
+
createdByAccountId: accountId,
|
|
35
|
+
publishedAt: entity.updatedAt || new Date().toISOString(),
|
|
36
|
+
},
|
|
18
37
|
});
|
|
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
|
-
},
|
|
29
38
|
});
|
|
30
39
|
}
|
|
31
40
|
}
|