@monorise/core 3.0.1 → 3.0.2

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.
Files changed (206) hide show
  1. package/dist/index.d.ts +4759 -27
  2. package/dist/index.js +7940 -31
  3. package/dist/index.js.map +1 -1
  4. package/package.json +4 -4
  5. package/dist/configs/service.config.d.ts +0 -5
  6. package/dist/configs/service.config.d.ts.map +0 -1
  7. package/dist/configs/service.config.js +0 -5
  8. package/dist/configs/service.config.js.map +0 -1
  9. package/dist/constants/table.d.ts +0 -3
  10. package/dist/constants/table.d.ts.map +0 -1
  11. package/dist/constants/table.js +0 -3
  12. package/dist/constants/table.js.map +0 -1
  13. package/dist/controllers/entity/create-entity.controller.d.ts +0 -7
  14. package/dist/controllers/entity/create-entity.controller.d.ts.map +0 -1
  15. package/dist/controllers/entity/create-entity.controller.js +0 -64
  16. package/dist/controllers/entity/create-entity.controller.js.map +0 -1
  17. package/dist/controllers/entity/delete-entity.controller.d.ts +0 -7
  18. package/dist/controllers/entity/delete-entity.controller.d.ts.map +0 -1
  19. package/dist/controllers/entity/delete-entity.controller.js +0 -38
  20. package/dist/controllers/entity/delete-entity.controller.js.map +0 -1
  21. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts +0 -7
  22. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts.map +0 -1
  23. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js +0 -36
  24. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js.map +0 -1
  25. package/dist/controllers/entity/get-entity.controller.d.ts +0 -7
  26. package/dist/controllers/entity/get-entity.controller.d.ts.map +0 -1
  27. package/dist/controllers/entity/get-entity.controller.js +0 -37
  28. package/dist/controllers/entity/get-entity.controller.js.map +0 -1
  29. package/dist/controllers/entity/list-entities.controller.d.ts +0 -7
  30. package/dist/controllers/entity/list-entities.controller.d.ts.map +0 -1
  31. package/dist/controllers/entity/list-entities.controller.js +0 -61
  32. package/dist/controllers/entity/list-entities.controller.js.map +0 -1
  33. package/dist/controllers/entity/update-entity.controller.d.ts +0 -7
  34. package/dist/controllers/entity/update-entity.controller.d.ts.map +0 -1
  35. package/dist/controllers/entity/update-entity.controller.js +0 -62
  36. package/dist/controllers/entity/update-entity.controller.js.map +0 -1
  37. package/dist/controllers/entity/upsert-entity.controller.d.ts +0 -11
  38. package/dist/controllers/entity/upsert-entity.controller.d.ts.map +0 -1
  39. package/dist/controllers/entity/upsert-entity.controller.js +0 -84
  40. package/dist/controllers/entity/upsert-entity.controller.js.map +0 -1
  41. package/dist/controllers/mutual/create-mutual.controller.d.ts +0 -7
  42. package/dist/controllers/mutual/create-mutual.controller.d.ts.map +0 -1
  43. package/dist/controllers/mutual/create-mutual.controller.js +0 -60
  44. package/dist/controllers/mutual/create-mutual.controller.js.map +0 -1
  45. package/dist/controllers/mutual/delete-mutual.controller.d.ts +0 -7
  46. package/dist/controllers/mutual/delete-mutual.controller.d.ts.map +0 -1
  47. package/dist/controllers/mutual/delete-mutual.controller.js +0 -40
  48. package/dist/controllers/mutual/delete-mutual.controller.js.map +0 -1
  49. package/dist/controllers/mutual/get-mutual.controller.d.ts +0 -7
  50. package/dist/controllers/mutual/get-mutual.controller.d.ts.map +0 -1
  51. package/dist/controllers/mutual/get-mutual.controller.js +0 -36
  52. package/dist/controllers/mutual/get-mutual.controller.js.map +0 -1
  53. package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts +0 -7
  54. package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts.map +0 -1
  55. package/dist/controllers/mutual/list-entities-by-entity.controller.js +0 -72
  56. package/dist/controllers/mutual/list-entities-by-entity.controller.js.map +0 -1
  57. package/dist/controllers/mutual/update-mutual.controller.d.ts +0 -7
  58. package/dist/controllers/mutual/update-mutual.controller.d.ts.map +0 -1
  59. package/dist/controllers/mutual/update-mutual.controller.js +0 -54
  60. package/dist/controllers/mutual/update-mutual.controller.js.map +0 -1
  61. package/dist/controllers/setupRoutes.d.ts +0 -4
  62. package/dist/controllers/setupRoutes.d.ts.map +0 -1
  63. package/dist/controllers/setupRoutes.js +0 -32
  64. package/dist/controllers/setupRoutes.js.map +0 -1
  65. package/dist/controllers/tag/list-tags.controller.d.ts +0 -7
  66. package/dist/controllers/tag/list-tags.controller.d.ts.map +0 -1
  67. package/dist/controllers/tag/list-tags.controller.js +0 -57
  68. package/dist/controllers/tag/list-tags.controller.js.map +0 -1
  69. package/dist/data/DbUtils.d.ts +0 -7
  70. package/dist/data/DbUtils.d.ts.map +0 -1
  71. package/dist/data/DbUtils.js +0 -34
  72. package/dist/data/DbUtils.js.map +0 -1
  73. package/dist/data/Entity.d.ts +0 -77
  74. package/dist/data/Entity.d.ts.map +0 -1
  75. package/dist/data/Entity.js +0 -504
  76. package/dist/data/Entity.js.map +0 -1
  77. package/dist/data/EventUtils.d.ts +0 -15
  78. package/dist/data/EventUtils.d.ts.map +0 -1
  79. package/dist/data/EventUtils.js +0 -43
  80. package/dist/data/EventUtils.js.map +0 -1
  81. package/dist/data/FileObject.d.ts +0 -62
  82. package/dist/data/FileObject.d.ts.map +0 -1
  83. package/dist/data/FileObject.js +0 -13
  84. package/dist/data/FileObject.js.map +0 -1
  85. package/dist/data/Mutual.d.ts +0 -93
  86. package/dist/data/Mutual.d.ts.map +0 -1
  87. package/dist/data/Mutual.js +0 -440
  88. package/dist/data/Mutual.js.map +0 -1
  89. package/dist/data/ProjectionExpression.d.ts +0 -6
  90. package/dist/data/ProjectionExpression.d.ts.map +0 -1
  91. package/dist/data/ProjectionExpression.js +0 -5
  92. package/dist/data/ProjectionExpression.js.map +0 -1
  93. package/dist/data/Tag.d.ts +0 -77
  94. package/dist/data/Tag.d.ts.map +0 -1
  95. package/dist/data/Tag.js +0 -329
  96. package/dist/data/Tag.js.map +0 -1
  97. package/dist/data/abstract/Item.base.d.ts +0 -11
  98. package/dist/data/abstract/Item.base.d.ts.map +0 -1
  99. package/dist/data/abstract/Item.base.js +0 -9
  100. package/dist/data/abstract/Item.base.js.map +0 -1
  101. package/dist/data/abstract/Repository.base.d.ts +0 -11
  102. package/dist/data/abstract/Repository.base.d.ts.map +0 -1
  103. package/dist/data/abstract/Repository.base.js +0 -51
  104. package/dist/data/abstract/Repository.base.js.map +0 -1
  105. package/dist/errors/api-error.d.ts +0 -23
  106. package/dist/errors/api-error.d.ts.map +0 -1
  107. package/dist/errors/api-error.js +0 -26
  108. package/dist/errors/api-error.js.map +0 -1
  109. package/dist/errors/extendable-error.d.ts +0 -18
  110. package/dist/errors/extendable-error.d.ts.map +0 -1
  111. package/dist/errors/extendable-error.js +0 -15
  112. package/dist/errors/extendable-error.js.map +0 -1
  113. package/dist/errors/standard-error.d.ts +0 -33
  114. package/dist/errors/standard-error.d.ts.map +0 -1
  115. package/dist/errors/standard-error.js +0 -39
  116. package/dist/errors/standard-error.js.map +0 -1
  117. package/dist/handles/app.d.ts +0 -16
  118. package/dist/handles/app.d.ts.map +0 -1
  119. package/dist/handles/app.js +0 -31
  120. package/dist/handles/app.js.map +0 -1
  121. package/dist/helpers/dependencies.d.ts +0 -8
  122. package/dist/helpers/dependencies.d.ts.map +0 -1
  123. package/dist/helpers/dependencies.js +0 -10
  124. package/dist/helpers/dependencies.js.map +0 -1
  125. package/dist/helpers/event.d.ts +0 -22
  126. package/dist/helpers/event.d.ts.map +0 -1
  127. package/dist/helpers/event.js +0 -48
  128. package/dist/helpers/event.js.map +0 -1
  129. package/dist/helpers/fromLastKeyQuery.d.ts +0 -3
  130. package/dist/helpers/fromLastKeyQuery.d.ts.map +0 -1
  131. package/dist/helpers/fromLastKeyQuery.js +0 -7
  132. package/dist/helpers/fromLastKeyQuery.js.map +0 -1
  133. package/dist/helpers/sleep.d.ts +0 -2
  134. package/dist/helpers/sleep.d.ts.map +0 -1
  135. package/dist/helpers/sleep.js +0 -2
  136. package/dist/helpers/sleep.js.map +0 -1
  137. package/dist/helpers/toLastKeyResponse.d.ts +0 -3
  138. package/dist/helpers/toLastKeyResponse.d.ts.map +0 -1
  139. package/dist/helpers/toLastKeyResponse.js +0 -7
  140. package/dist/helpers/toLastKeyResponse.js.map +0 -1
  141. package/dist/index.d.ts.map +0 -1
  142. package/dist/middlewares/api-key-auth.d.ts +0 -3
  143. package/dist/middlewares/api-key-auth.d.ts.map +0 -1
  144. package/dist/middlewares/api-key-auth.js +0 -32
  145. package/dist/middlewares/api-key-auth.js.map +0 -1
  146. package/dist/middlewares/entity-type-check.d.ts +0 -3
  147. package/dist/middlewares/entity-type-check.d.ts.map +0 -1
  148. package/dist/middlewares/entity-type-check.js +0 -22
  149. package/dist/middlewares/entity-type-check.js.map +0 -1
  150. package/dist/middlewares/general-error-handler.d.ts +0 -7
  151. package/dist/middlewares/general-error-handler.d.ts.map +0 -1
  152. package/dist/middlewares/general-error-handler.js +0 -40
  153. package/dist/middlewares/general-error-handler.js.map +0 -1
  154. package/dist/middlewares/mutual-type-check.d.ts +0 -3
  155. package/dist/middlewares/mutual-type-check.d.ts.map +0 -1
  156. package/dist/middlewares/mutual-type-check.js +0 -23
  157. package/dist/middlewares/mutual-type-check.js.map +0 -1
  158. package/dist/processors/create-entity-processor.d.ts +0 -6
  159. package/dist/processors/create-entity-processor.d.ts.map +0 -1
  160. package/dist/processors/create-entity-processor.js +0 -44
  161. package/dist/processors/create-entity-processor.js.map +0 -1
  162. package/dist/processors/mutual-processor.d.ts +0 -16
  163. package/dist/processors/mutual-processor.d.ts.map +0 -1
  164. package/dist/processors/mutual-processor.js +0 -142
  165. package/dist/processors/mutual-processor.js.map +0 -1
  166. package/dist/processors/prejoin-processor.d.ts +0 -13
  167. package/dist/processors/prejoin-processor.d.ts.map +0 -1
  168. package/dist/processors/prejoin-processor.js +0 -161
  169. package/dist/processors/prejoin-processor.js.map +0 -1
  170. package/dist/processors/replication-processor.d.ts +0 -9
  171. package/dist/processors/replication-processor.d.ts.map +0 -1
  172. package/dist/processors/replication-processor.js +0 -180
  173. package/dist/processors/replication-processor.js.map +0 -1
  174. package/dist/processors/tag-processor.d.ts +0 -12
  175. package/dist/processors/tag-processor.d.ts.map +0 -1
  176. package/dist/processors/tag-processor.js +0 -118
  177. package/dist/processors/tag-processor.js.map +0 -1
  178. package/dist/services/DependencyContainer.d.ts +0 -67
  179. package/dist/services/DependencyContainer.d.ts.map +0 -1
  180. package/dist/services/DependencyContainer.js +0 -121
  181. package/dist/services/DependencyContainer.js.map +0 -1
  182. package/dist/services/entity-service-lifecycle.d.ts +0 -12
  183. package/dist/services/entity-service-lifecycle.d.ts.map +0 -1
  184. package/dist/services/entity-service-lifecycle.js +0 -41
  185. package/dist/services/entity-service-lifecycle.js.map +0 -1
  186. package/dist/services/entity.service.d.ts +0 -34
  187. package/dist/services/entity.service.d.ts.map +0 -1
  188. package/dist/services/entity.service.js +0 -120
  189. package/dist/services/entity.service.js.map +0 -1
  190. package/dist/services/mutual.service.d.ts +0 -64
  191. package/dist/services/mutual.service.d.ts.map +0 -1
  192. package/dist/services/mutual.service.js +0 -141
  193. package/dist/services/mutual.service.js.map +0 -1
  194. package/dist/tsconfig.tsbuildinfo +0 -1
  195. package/dist/types/entity.type.d.ts +0 -20
  196. package/dist/types/entity.type.d.ts.map +0 -1
  197. package/dist/types/entity.type.js +0 -2
  198. package/dist/types/entity.type.js.map +0 -1
  199. package/dist/types/event.d.ts +0 -73
  200. package/dist/types/event.d.ts.map +0 -1
  201. package/dist/types/event.js +0 -74
  202. package/dist/types/event.js.map +0 -1
  203. package/dist/vitest.config.d.ts +0 -3
  204. package/dist/vitest.config.d.ts.map +0 -1
  205. package/dist/vitest.config.js +0 -10
  206. package/dist/vitest.config.js.map +0 -1
@@ -1,118 +0,0 @@
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
- };
10
- import { parseSQSBusEvent } from '../helpers/event';
11
- function compareTags(existingTags, newTags) {
12
- const oldMap = new Map(existingTags.map((item) => [`${item.group}#${item.sortValue}`, item]));
13
- const newMap = new Map(newTags.map((item) => [`${item.group}#${item.sortValue}`, item]));
14
- const remain = [];
15
- const oldDiff = [];
16
- const newDiff = [];
17
- for (const [key, oldItem] of oldMap.entries()) {
18
- if (newMap.has(key)) {
19
- remain.push(oldItem);
20
- newMap.delete(key); // Remove from newMap as it's already in remain
21
- }
22
- else {
23
- oldDiff.push(oldItem);
24
- }
25
- }
26
- // Remaining entries in newMap are new
27
- for (const newItem of newMap.values()) {
28
- newDiff.push(newItem);
29
- }
30
- return {
31
- old: oldDiff,
32
- new: newDiff,
33
- remain,
34
- };
35
- }
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
- });
65
- }
66
- export const handler = (container) => (ev) => __awaiter(void 0, void 0, void 0, function* () {
67
- var _a;
68
- const batchItemFailures = [];
69
- for (const record of ev.Records) {
70
- const body = parseSQSBusEvent(record.body);
71
- const { detail } = body;
72
- const { entityType, entityId } = detail;
73
- const errorContext = {};
74
- errorContext.body = body;
75
- try {
76
- const tagConfigs = (_a = container.config.EntityConfig[entityType]) === null || _a === void 0 ? void 0 : _a.tags;
77
- if (!tagConfigs || !tagConfigs.length) {
78
- // skip if entity has no tag configs
79
- continue;
80
- }
81
- yield container.tagRepository.createLock({
82
- entityType,
83
- entityId,
84
- });
85
- for (const tagConfig of tagConfigs) {
86
- const { name, processor } = tagConfig;
87
- const existingTags = yield container.tagRepository.getExistingTags({
88
- entityType,
89
- entityId,
90
- tagName: name,
91
- });
92
- errorContext.existingTags = existingTags;
93
- const entity = yield container.entityRepository.getEntity(entityType, entityId);
94
- errorContext.entity = entity;
95
- const newTags = yield processor(entity);
96
- errorContext.newTags = newTags;
97
- const diff = compareTags(existingTags, newTags);
98
- errorContext.diff = diff;
99
- yield batchUpdateTags({
100
- container,
101
- tagName: name,
102
- entity,
103
- diff,
104
- });
105
- }
106
- yield container.tagRepository.deleteLock({
107
- entityType,
108
- entityId,
109
- });
110
- }
111
- catch (err) {
112
- console.log('===TAG-PROCESSOR ERROR===', err, JSON.stringify({ errorContext }, null, 2));
113
- batchItemFailures.push({ itemIdentifier: record.messageId });
114
- }
115
- }
116
- return { batchItemFailures };
117
- });
118
- //# sourceMappingURL=tag-processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag-processor.js","sourceRoot":"","sources":["../../processors/tag-processor.ts"],"names":[],"mappings":"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"}
@@ -1,67 +0,0 @@
1
- import { DynamoDB } from '@aws-sdk/client-dynamodb';
2
- import type { Entity, createEntityConfig } from '@monorise/base';
3
- import type { publishEvent as publishEventType } from '../helpers/event';
4
- import { DbUtils } from '../data/DbUtils';
5
- import { EntityRepository } from '../data/Entity';
6
- import { EventUtils } from '../data/EventUtils';
7
- import { MutualRepository } from '../data/Mutual';
8
- import { TagRepository } from '../data/Tag';
9
- import { CreateEntityController } from '../controllers/entity/create-entity.controller';
10
- import { DeleteEntityController } from '../controllers/entity/delete-entity.controller';
11
- import { GetEntityByUniqueFieldValueController } from '../controllers/entity/get-entity-by-unique-field-value.controller';
12
- import { GetEntityController } from '../controllers/entity/get-entity.controller';
13
- import { ListEntitiesController } from '../controllers/entity/list-entities.controller';
14
- import { UpdateEntityController } from '../controllers/entity/update-entity.controller';
15
- import { UpsertEntityController } from '../controllers/entity/upsert-entity.controller';
16
- import { CreateMutualController } from '../controllers/mutual/create-mutual.controller';
17
- import { DeleteMutualController } from '../controllers/mutual/delete-mutual.controller';
18
- import { GetMutualController } from '../controllers/mutual/get-mutual.controller';
19
- import { ListEntitiesByEntityController } from '../controllers/mutual/list-entities-by-entity.controller';
20
- import { UpdateMutualController } from '../controllers/mutual/update-mutual.controller';
21
- import { EntityService } from './entity.service';
22
- import { MutualService } from './mutual.service';
23
- import { ListTagsController } from '../controllers/tag/list-tags.controller';
24
- import { EntityServiceLifeCycle } from './entity-service-lifecycle';
25
- export declare class DependencyContainer {
26
- config: {
27
- EntityConfig: Record<Entity, ReturnType<typeof createEntityConfig>>;
28
- AllowedEntityTypes: Entity[];
29
- EmailAuthEnabledEntities: Entity[];
30
- tableName?: string;
31
- };
32
- private _instanceCache;
33
- private _publishEvent;
34
- private _tableName;
35
- constructor(config: {
36
- EntityConfig: Record<Entity, ReturnType<typeof createEntityConfig>>;
37
- AllowedEntityTypes: Entity[];
38
- EmailAuthEnabledEntities: Entity[];
39
- tableName?: string;
40
- });
41
- createCachedInstance<T extends new (...args: any[]) => any>(ClassRef: T, ...args: ConstructorParameters<T>): InstanceType<T>;
42
- get coreTable(): string;
43
- get publishEvent(): typeof publishEventType;
44
- get dynamodbClient(): DynamoDB;
45
- get dbUtils(): DbUtils;
46
- get eventUtils(): EventUtils;
47
- get entityRepository(): EntityRepository;
48
- get mutualRepository(): MutualRepository;
49
- get entityServiceLifeCycle(): EntityServiceLifeCycle;
50
- get entityService(): EntityService;
51
- get mutualService(): MutualService;
52
- get tagRepository(): TagRepository;
53
- get getEntityController(): GetEntityController;
54
- get getEntityByUniqueFieldController(): GetEntityByUniqueFieldValueController;
55
- get listEntitiesController(): ListEntitiesController;
56
- get createEntityController(): CreateEntityController;
57
- get upsertEntityController(): UpsertEntityController;
58
- get updateEntityController(): UpdateEntityController;
59
- get deleteEntityController(): DeleteEntityController;
60
- get listEntitiesByEntityController(): ListEntitiesByEntityController;
61
- get getMutualController(): GetMutualController;
62
- get createMutualController(): CreateMutualController;
63
- get updateMutualController(): UpdateMutualController;
64
- get deleteMutualController(): DeleteMutualController;
65
- get listTagsController(): ListTagsController;
66
- }
67
- //# sourceMappingURL=DependencyContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DependencyContainer.d.ts","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"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"}
@@ -1,121 +0,0 @@
1
- import { DynamoDB } from '@aws-sdk/client-dynamodb';
2
- import { CORE_TABLE } from '../configs/service.config';
3
- import { getDependencies } from '../helpers/dependencies';
4
- import { DbUtils } from '../data/DbUtils';
5
- import { EntityRepository } from '../data/Entity';
6
- import { EventUtils } from '../data/EventUtils';
7
- import { MutualRepository } from '../data/Mutual';
8
- import { TagRepository } from '../data/Tag';
9
- import { CreateEntityController } from '../controllers/entity/create-entity.controller';
10
- import { DeleteEntityController } from '../controllers/entity/delete-entity.controller';
11
- import { GetEntityByUniqueFieldValueController } from '../controllers/entity/get-entity-by-unique-field-value.controller';
12
- import { GetEntityController } from '../controllers/entity/get-entity.controller';
13
- import { ListEntitiesController } from '../controllers/entity/list-entities.controller';
14
- import { UpdateEntityController } from '../controllers/entity/update-entity.controller';
15
- import { UpsertEntityController } from '../controllers/entity/upsert-entity.controller';
16
- import { CreateMutualController } from '../controllers/mutual/create-mutual.controller';
17
- import { DeleteMutualController } from '../controllers/mutual/delete-mutual.controller';
18
- import { GetMutualController } from '../controllers/mutual/get-mutual.controller';
19
- import { ListEntitiesByEntityController } from '../controllers/mutual/list-entities-by-entity.controller';
20
- import { UpdateMutualController } from '../controllers/mutual/update-mutual.controller';
21
- import { EntityService } from './entity.service';
22
- import { MutualService } from './mutual.service';
23
- import { ListTagsController } from '../controllers/tag/list-tags.controller';
24
- import { EntityServiceLifeCycle } from './entity-service-lifecycle';
25
- export class DependencyContainer {
26
- constructor(config) {
27
- this.config = config;
28
- this._instanceCache = new Map();
29
- this._publishEvent = null;
30
- this._tableName = config.tableName || CORE_TABLE;
31
- }
32
- createCachedInstance(ClassRef, ...args) {
33
- const cacheKey = ClassRef.name;
34
- if (this._instanceCache.has(cacheKey)) {
35
- return this._instanceCache.get(cacheKey);
36
- }
37
- const instance = new ClassRef(...args);
38
- this._instanceCache.set(cacheKey, instance);
39
- return instance;
40
- }
41
- get coreTable() {
42
- if (this._tableName)
43
- return this._tableName;
44
- this._tableName = CORE_TABLE;
45
- return this._tableName;
46
- }
47
- get publishEvent() {
48
- // for non class based function you can still have your own way of constructing
49
- if (this._publishEvent)
50
- return this._publishEvent;
51
- this._publishEvent = getDependencies().publishEvent;
52
- return this._publishEvent;
53
- }
54
- get dynamodbClient() {
55
- return this.createCachedInstance(DynamoDB);
56
- }
57
- get dbUtils() {
58
- return this.createCachedInstance(DbUtils, this.dynamodbClient);
59
- }
60
- get eventUtils() {
61
- return this.createCachedInstance(EventUtils, this.config.EntityConfig, this.publishEvent);
62
- }
63
- get entityRepository() {
64
- return this.createCachedInstance(EntityRepository, this.config.EntityConfig, this.coreTable, this.dynamodbClient, this.config.EmailAuthEnabledEntities);
65
- }
66
- get mutualRepository() {
67
- return this.createCachedInstance(MutualRepository, this.coreTable, this.dynamodbClient, this.dbUtils);
68
- }
69
- get entityServiceLifeCycle() {
70
- return this.createCachedInstance(EntityServiceLifeCycle, this.config.EntityConfig, this.publishEvent, this.eventUtils);
71
- }
72
- get entityService() {
73
- return this.createCachedInstance(EntityService, this.config.EntityConfig, this.config.EmailAuthEnabledEntities, this.entityRepository, this.publishEvent, this.entityServiceLifeCycle);
74
- }
75
- get mutualService() {
76
- return this.createCachedInstance(MutualService, this.entityRepository, this.mutualRepository, this.publishEvent, this.dbUtils, this.entityServiceLifeCycle);
77
- }
78
- get tagRepository() {
79
- return this.createCachedInstance(TagRepository, this.coreTable, this.dynamodbClient);
80
- }
81
- get getEntityController() {
82
- return this.createCachedInstance(GetEntityController, this.entityRepository);
83
- }
84
- get getEntityByUniqueFieldController() {
85
- return this.createCachedInstance(GetEntityByUniqueFieldValueController, this.entityRepository);
86
- }
87
- get listEntitiesController() {
88
- return this.createCachedInstance(ListEntitiesController, this.entityRepository);
89
- }
90
- get createEntityController() {
91
- return this.createCachedInstance(CreateEntityController, this.entityService);
92
- }
93
- get upsertEntityController() {
94
- return this.createCachedInstance(UpsertEntityController, this.config.EntityConfig, this.entityRepository, this.publishEvent);
95
- }
96
- get updateEntityController() {
97
- return this.createCachedInstance(UpdateEntityController, this.entityService);
98
- }
99
- get deleteEntityController() {
100
- return this.createCachedInstance(DeleteEntityController, this.entityService);
101
- }
102
- get listEntitiesByEntityController() {
103
- return this.createCachedInstance(ListEntitiesByEntityController, this.mutualRepository);
104
- }
105
- get getMutualController() {
106
- return this.createCachedInstance(GetMutualController, this.mutualRepository);
107
- }
108
- get createMutualController() {
109
- return this.createCachedInstance(CreateMutualController, this.mutualService);
110
- }
111
- get updateMutualController() {
112
- return this.createCachedInstance(UpdateMutualController, this.mutualService);
113
- }
114
- get deleteMutualController() {
115
- return this.createCachedInstance(DeleteMutualController, this.mutualService);
116
- }
117
- get listTagsController() {
118
- return this.createCachedInstance(ListTagsController, this.tagRepository);
119
- }
120
- }
121
- //# sourceMappingURL=DependencyContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DependencyContainer.js","sourceRoot":"","sources":["../../services/DependencyContainer.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { Entity as EntityType } from '@monorise/base';
2
- import type { Entity } from '../data/Entity';
3
- import type { EventUtils } from '../data/EventUtils';
4
- import type { publishEvent as publishEventType } from '../helpers/event';
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
- }
12
- //# sourceMappingURL=entity-service-lifecycle.d.ts.map
@@ -1 +0,0 @@
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,41 +0,0 @@
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
- };
10
- import { EVENT } from '../types/event';
11
- export class EntityServiceLifeCycle {
12
- constructor(EntityConfig, publishEvent, eventUtils) {
13
- this.EntityConfig = EntityConfig;
14
- this.publishEvent = publishEvent;
15
- this.eventUtils = eventUtils;
16
- }
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
- },
37
- });
38
- });
39
- }
40
- }
41
- //# sourceMappingURL=entity-service-lifecycle.js.map
@@ -1 +0,0 @@
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;IACjC,YACU,YAAiB,EACjB,YAAqC,EACrC,UAAsB;QAFtB,iBAAY,GAAZ,YAAY,CAAK;QACjB,iBAAY,GAAZ,YAAY,CAAyB;QACrC,eAAU,GAAV,UAAU,CAAY;IAC7B,CAAC;IAEE,qBAAqB,CACzB,MAAiB,EACjB,aAAuC,EACvC,SAA6B;;;YAE7B,MAAM,YAAY,GAChB,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,0CAAE,YAAY,CAAC;YAC5D,MAAM,mBAAmB,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YAE/D,IAAI,mBAAmB,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC;oBAC9C,MAAM;oBACN,aAAa,EAAE,mBAAmB;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC;gBACtB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc;gBAChC,OAAO,EAAE;oBACP,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,kBAAkB,EAAE,SAAS;oBAC7B,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC1D;aACF,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
@@ -1,34 +0,0 @@
1
- import type { EntitySchemaMap, Entity as EntityType, createEntityConfig } from '@monorise/base';
2
- import type { EntityRepository } from '../data/Entity';
3
- import type { publishEvent as publishEventType } from '../helpers/event';
4
- import type { EntityServiceLifeCycle } from './entity-service-lifecycle';
5
- export declare class EntityService {
6
- private EntityConfig;
7
- private EmailAuthEnabledEntities;
8
- private entityRepository;
9
- private publishEvent;
10
- private entityServiceLifeCycle;
11
- constructor(EntityConfig: Record<EntityType, ReturnType<typeof createEntityConfig>>, EmailAuthEnabledEntities: EntityType[], entityRepository: EntityRepository, publishEvent: typeof publishEventType, entityServiceLifeCycle: EntityServiceLifeCycle);
12
- createEntity: <T extends EntityType>({ entityType, entityId, entityPayload, accountId, options, }: {
13
- entityType: T;
14
- entityPayload: EntitySchemaMap[T] | Record<string, any>;
15
- entityId?: string;
16
- accountId?: string | string[];
17
- options?: {
18
- createAndUpdateDatetime?: string;
19
- mutualId?: string;
20
- };
21
- }) => Promise<import("..").Entity<T>>;
22
- updateEntity: <T extends EntityType>({ entityType, entityId, entityPayload, accountId, }: {
23
- entityType: T;
24
- entityId: string;
25
- entityPayload: Partial<EntitySchemaMap[T]>;
26
- accountId?: string | string[];
27
- }) => Promise<import("..").Entity<T>>;
28
- deleteEntity: <T extends EntityType>({ entityType, entityId, accountId, }: {
29
- entityType: T;
30
- entityId: string;
31
- accountId?: string | string[];
32
- }) => Promise<void>;
33
- }
34
- //# sourceMappingURL=entity.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity.service.d.ts","sourceRoot":"","sources":["../../services/entity.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,MAAM,IAAI,UAAU,EACpB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,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;IAIpB,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,sBAAsB;gBAPtB,YAAY,EAAE,MAAM,CAC1B,UAAU,EACV,UAAU,CAAC,OAAO,kBAAkB,CAAC,CACtC,EACO,wBAAwB,EAAE,UAAU,EAAE,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,OAAO,gBAAgB,EACrC,sBAAsB,EAAE,sBAAsB;IAGxD,YAAY,GAAU,CAAC,SAAS,UAAU,EAAE,8DAMzC;QACD,UAAU,EAAE,CAAC,CAAC;QACd,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,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,qCAuDC;IAEF,YAAY,GAAU,CAAC,SAAS,UAAU,EAAE,qDAKzC;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,qCA+EC;IAEF,YAAY,GAAU,CAAC,SAAS,UAAU,EAAE,sCAIzC;QACD,UAAU,EAAE,CAAC,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;KAC/B,mBAWC;CACH"}
@@ -1,120 +0,0 @@
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
- };
10
- import { z } from 'zod';
11
- import { StandardError, StandardErrorCode } from '../errors/standard-error';
12
- import { EVENT } from '../types/event';
13
- export class EntityService {
14
- constructor(EntityConfig, EmailAuthEnabledEntities, entityRepository, publishEvent, entityServiceLifeCycle) {
15
- this.EntityConfig = EntityConfig;
16
- this.EmailAuthEnabledEntities = EmailAuthEnabledEntities;
17
- this.entityRepository = entityRepository;
18
- this.publishEvent = publishEvent;
19
- this.entityServiceLifeCycle = entityServiceLifeCycle;
20
- this.createEntity = (_a) => __awaiter(this, [_a], void 0, function* ({ entityType, entityId, entityPayload, accountId, options, }) {
21
- var _b, _c;
22
- const finalSchema = this.EntityConfig[entityType].finalSchema;
23
- const entitySchema = ((_b = this.EntityConfig[entityType]) === null || _b === void 0 ? void 0 : _b.createSchema) ||
24
- ((_c = this.EntityConfig[entityType]) === null || _c === void 0 ? void 0 : _c.baseSchema) ||
25
- z.object({});
26
- // const mutualSchema = this.EntityConfig[entityType]?.mutual?.mutualSchema;
27
- if (!finalSchema || !entitySchema) {
28
- throw new StandardError(StandardErrorCode.INVALID_ENTITY_TYPE, 'Invalid entity type');
29
- }
30
- finalSchema.parse(entityPayload);
31
- const parsedEntityPayload = entitySchema.parse(entityPayload);
32
- // TODO: Create entity to accept mutual payload, so that mutual
33
- // relationship can be formed when creating entity
34
- // const parsedMutualPayload = mutualSchema?.parse(entityPayload);
35
- if (this.EmailAuthEnabledEntities.includes(entityType)) {
36
- yield this.entityRepository.getEmailAvailability(entityType, parsedEntityPayload.email);
37
- }
38
- const entity = yield this.entityRepository.createEntity(entityType, parsedEntityPayload, entityId, Object.assign(Object.assign({}, ((options === null || options === void 0 ? void 0 : options.mutualId)
39
- ? {
40
- mutualId: `MUTUAL#${options.mutualId}`,
41
- }
42
- : {})), { createAndUpdateDatetime: (options === null || options === void 0 ? void 0 : options.createAndUpdateDatetime)
43
- ? new Date(options.createAndUpdateDatetime)
44
- : new Date() }));
45
- yield this.entityServiceLifeCycle.afterCreateEntityHook(entity, entityPayload, accountId);
46
- return entity;
47
- });
48
- this.updateEntity = (_a) => __awaiter(this, [_a], void 0, function* ({ entityType, entityId, entityPayload, accountId, }) {
49
- var _b, _c;
50
- const errorContext = {};
51
- try {
52
- const entitySchema = this.EntityConfig[entityType].baseSchema;
53
- const mutualSchema = (_b = this.EntityConfig[entityType].mutual) === null || _b === void 0 ? void 0 : _b.mutualSchema;
54
- if (!entitySchema) {
55
- throw new StandardError(StandardErrorCode.INVALID_ENTITY_TYPE, 'Invalid entity type');
56
- }
57
- const parsedEntityPayload = entitySchema.parse(entityPayload);
58
- const parsedMutualPayload = mutualSchema === null || mutualSchema === void 0 ? void 0 : mutualSchema.parse(entityPayload);
59
- errorContext.parsedMutualPayload = parsedMutualPayload;
60
- const entity = yield this.entityRepository.updateEntity(entityType, entityId, { data: parsedEntityPayload });
61
- errorContext.entity = entity;
62
- if (parsedMutualPayload) {
63
- const byEntityType = entityType;
64
- const byEntityId = entityId;
65
- const publishEventPromises = [];
66
- for (const [fieldKey, config] of Object.entries(((_c = this.EntityConfig[entityType].mutual) === null || _c === void 0 ? void 0 : _c.mutualFields) || {})) {
67
- const toMutualIds = config.toMutualIds;
68
- const mutualPayload = parsedMutualPayload[fieldKey];
69
- if (!mutualPayload)
70
- continue;
71
- publishEventPromises.push(this.publishEvent({
72
- event: EVENT.CORE.ENTITY_MUTUAL_TO_UPDATE,
73
- payload: {
74
- byEntityType,
75
- byEntityId,
76
- entityType: config.entityType,
77
- field: fieldKey,
78
- mutualIds: toMutualIds
79
- ? toMutualIds(mutualPayload)
80
- : mutualPayload,
81
- customContext: toMutualIds ? mutualPayload : {},
82
- publishedAt: entity.updatedAt || new Date().toISOString(),
83
- },
84
- }));
85
- }
86
- yield Promise.allSettled(publishEventPromises);
87
- }
88
- yield this.publishEvent({
89
- event: EVENT.CORE.ENTITY_UPDATED,
90
- payload: {
91
- entityType,
92
- entityId,
93
- data: entity.data,
94
- updatedByAccountId: accountId,
95
- publishedAt: entity.updatedAt || new Date().toISOString(),
96
- },
97
- });
98
- return entity;
99
- }
100
- catch (error) {
101
- if (error && typeof error === 'object') {
102
- error.context = errorContext;
103
- }
104
- throw error;
105
- }
106
- });
107
- this.deleteEntity = (_a) => __awaiter(this, [_a], void 0, function* ({ entityType, entityId, accountId, }) {
108
- yield this.entityRepository.deleteEntity(entityType, entityId);
109
- yield this.publishEvent({
110
- event: EVENT.CORE.ENTITY_DELETED,
111
- payload: {
112
- entityType,
113
- entityId,
114
- deletedByAccountId: accountId,
115
- },
116
- });
117
- });
118
- }
119
- }
120
- //# sourceMappingURL=entity.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity.service.js","sourceRoot":"","sources":["../../services/entity.service.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- import type { AttributeValue } from '@aws-sdk/client-dynamodb';
2
- import type { Entity as EntityType } from '@monorise/base';
3
- import type { DbUtils } from '../data/DbUtils';
4
- import { type EntityRepository } from '../data/Entity';
5
- import { Mutual, type MutualRepository } from '../data/Mutual';
6
- import type { publishEvent as publishEventType } from '../helpers/event';
7
- import type { EntityServiceLifeCycle } from './entity-service-lifecycle';
8
- export declare class MutualService {
9
- private entityRepository;
10
- private mutualRepository;
11
- private publishEvent;
12
- private ddbUtils;
13
- private entityServiceLifeCycle;
14
- constructor(entityRepository: EntityRepository, mutualRepository: MutualRepository, publishEvent: typeof publishEventType, ddbUtils: DbUtils, entityServiceLifeCycle: EntityServiceLifeCycle);
15
- createMutual: <B extends EntityType, T extends EntityType, A extends EntityType>({ byEntityType, byEntityId, entityType, entityId, mutualPayload, accountId, options, }: {
16
- byEntityType: B;
17
- byEntityId: string;
18
- entityType: T;
19
- entityId: string;
20
- mutualPayload?: Record<string, unknown>;
21
- accountId?: string | string[];
22
- options?: {
23
- asEntity?: A;
24
- ensureEntityStrongConsistentWrite?: boolean;
25
- mutualId?: string;
26
- skipMutualCreation?: boolean;
27
- createAndUpdateDatetime?: Date;
28
- ConditionExpression?: string;
29
- ExpressionAttributeNames?: Record<string, string>;
30
- ExpressionAttributeValues?: Record<string, AttributeValue>;
31
- };
32
- }) => Promise<{
33
- mutual: Mutual<B, T, Record<string, any>>;
34
- eventPayload: {
35
- byEntityType: B;
36
- byEntityId: string;
37
- entityType: T;
38
- entityId: string;
39
- parsedMutualPayload: Record<string, any>;
40
- accountId: string | string[] | undefined;
41
- publishedAt: string;
42
- };
43
- }>;
44
- updateMutual: <B extends EntityType, T extends EntityType, M extends Record<string, unknown>>({ byEntityType, byEntityId, entityType, entityId, mutualPayload, accountId, options, }: {
45
- byEntityType: B;
46
- byEntityId: string;
47
- entityType: T;
48
- entityId: string;
49
- mutualPayload: M;
50
- accountId?: string | string[];
51
- options?: {
52
- maxObjectUpdateLevel?: number;
53
- returnUpdatedValue?: boolean;
54
- };
55
- }) => Promise<Mutual<B, T, Record<string, unknown>> | undefined>;
56
- deleteMutual: ({ byEntityType, byEntityId, entityType, entityId, accountId, }: {
57
- byEntityType: EntityType;
58
- byEntityId: string;
59
- entityType: EntityType;
60
- entityId: string;
61
- accountId?: string | string[];
62
- }) => Promise<Mutual<EntityType, EntityType, Record<string, unknown>>>;
63
- }
64
- //# sourceMappingURL=mutual.service.d.ts.map
@@ -1 +0,0 @@
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"}