@monorise/core 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +0,0 @@
1
- {"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../data/FileObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { z } from 'zod';
2
- export const fileObjectSchema = z.object({
3
- name: z.string(),
4
- url: z.string(),
5
- });
6
- export const fileSchema = z.object({
7
- uid: z.string(),
8
- name: z.string(),
9
- regular: fileObjectSchema,
10
- thumbnail: fileObjectSchema.optional(),
11
- jobId: z.string().optional(),
12
- });
13
- //# sourceMappingURL=FileObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileObject.js","sourceRoot":"","sources":["../../data/FileObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
@@ -1,93 +0,0 @@
1
- import { type AttributeValue, type DynamoDB, type TransactWriteItem } from '@aws-sdk/client-dynamodb';
2
- import type { Entity, EntitySchemaMap } from '@monorise/base';
3
- import type { DbUtils } from '../data/DbUtils';
4
- import { type ProjectionExpressionValues } from './ProjectionExpression';
5
- import { Repository } from './abstract/Repository.base';
6
- export declare class Mutual<B extends Entity, T extends Entity, M extends Record<string, unknown>> {
7
- byEntityType: B;
8
- byEntityId: string;
9
- byData: Partial<EntitySchemaMap[B]> | Record<string, any>;
10
- entityType: T;
11
- entityId: string;
12
- data: Partial<EntitySchemaMap[T]> | Record<string, any>;
13
- mutualData: M;
14
- mutualId?: string | undefined;
15
- private _createdAt?;
16
- private _updatedAt?;
17
- private _mutualUpdatedAt?;
18
- private _expiresAt?;
19
- constructor(byEntityType: B, byEntityId: string, byData: Partial<EntitySchemaMap[B]> | Record<string, any>, entityType: T, entityId: string, data: Partial<EntitySchemaMap[T]> | Record<string, any>, mutualData: M, mutualId?: string | undefined, _createdAt?: Date | undefined, _updatedAt?: Date | undefined, _mutualUpdatedAt?: Date | undefined, _expiresAt?: Date | undefined);
20
- static fromItem<B extends Entity, T extends Entity, M extends Record<string, unknown>>(item?: Record<string, AttributeValue>): Mutual<B, T, M>;
21
- mainKeys(): Record<string, AttributeValue>;
22
- subKeys(): Record<string, AttributeValue>;
23
- get byFullEntityId(): string;
24
- get fullEntityId(): string;
25
- get listEntitySK(): string;
26
- get mainPk(): string;
27
- get mainSk(): string;
28
- get createdAt(): string | undefined;
29
- get updatedAt(): string | undefined;
30
- get mutualUpdatedAt(): string | undefined;
31
- get expiresAt(): string | undefined;
32
- toItem(): Record<string, AttributeValue>;
33
- toReversedItem(): Record<string, AttributeValue>;
34
- toJSON(): Record<string, unknown>;
35
- }
36
- export declare class MutualRepository extends Repository {
37
- private readonly TABLE_NAME;
38
- private readonly dynamodbClient;
39
- private readonly ddbUtils;
40
- constructor(TABLE_NAME: string, dynamodbClient: DynamoDB, ddbUtils: DbUtils);
41
- listEntitiesByEntity<B extends Entity, T extends Entity, M extends Record<string, unknown>>(byEntityType: B, byEntityId: string, entityType: T, opts?: {
42
- lastKey?: string;
43
- ProjectionExpression?: ProjectionExpressionValues | (string & {});
44
- limit?: number;
45
- }): Promise<{
46
- items: Mutual<B, T, M>[];
47
- lastKey?: string;
48
- }>;
49
- getMutual<B extends Entity, T extends Entity, M extends Record<string, unknown>>(byEntityType: B, byEntityId: string, entityType: T, entityId: string, opts?: {
50
- isFromMetadata?: boolean;
51
- ProjectionExpression?: string;
52
- }): Promise<Mutual<B, T, M>>;
53
- checkMutualExist<B extends Entity, T extends Entity>(byEntityType: B, byEntityId: string, entityType: T, entityId: string): Promise<void>;
54
- createMutualTransactItems<B extends Entity, T extends Entity, M extends Record<string, unknown>>(mutual: Mutual<B, T, M>, opts?: {
55
- ConditionExpression?: string;
56
- ExpressionAttributeNames?: Record<string, string>;
57
- ExpressionAttributeValues?: Record<string, AttributeValue>;
58
- }): TransactWriteItem[];
59
- createMutual<B extends Entity, T extends Entity, M extends Record<string, unknown>>(byEntityType: B, byEntityId: string, byData: EntitySchemaMap[B] | Record<string, any>, entityType: T, entityId: string, data: EntitySchemaMap[T] | Record<string, any>, mutualData?: M, opts?: {
60
- ConditionExpression?: string;
61
- ExpressionAttributeNames?: Record<string, string>;
62
- ExpressionAttributeValues?: Record<string, AttributeValue>;
63
- createAndUpdateDatetime?: Date;
64
- }): Promise<Mutual<B, T, M>>;
65
- updateMutual<B extends Entity, T extends Entity, M extends Record<string, unknown>>(byEntityType: B, byEntityId: string, entityType: T, entityId: string, toUpdate: {
66
- mutualData: Record<string, unknown>;
67
- mutualUpdatedAt?: string;
68
- updatedAt?: string;
69
- }, opts?: {
70
- ConditionExpression?: string;
71
- ExpressionAttributeNames?: Record<string, string>;
72
- ExpressionAttributeValues?: Record<string, AttributeValue>;
73
- returnUpdatedValue?: boolean;
74
- maxObjectUpdateLevel?: number;
75
- }): Promise<Mutual<B, T, M> | undefined>;
76
- deleteMutual<B extends Entity, T extends Entity, M extends Record<string, unknown>>(byEntityType: B, byEntityId: string, entityType: T, entityId: string, opts?: {
77
- ConditionExpression?: string;
78
- ExpressionAttributeNames?: Record<string, string>;
79
- ExpressionAttributeValues?: Record<string, AttributeValue>;
80
- }): Promise<Mutual<B, T, M>>;
81
- createMutualLock<B extends Entity, T extends Entity>({ byEntityType, byEntityId, entityType, version, }: {
82
- byEntityType: B;
83
- byEntityId: string;
84
- entityType: T;
85
- version: string;
86
- }): Promise<void>;
87
- deleteMutualLock<B extends Entity, T extends Entity>({ byEntityType, byEntityId, entityType, }: {
88
- byEntityType: B;
89
- byEntityId: string;
90
- entityType: T;
91
- }): Promise<void>;
92
- }
93
- //# sourceMappingURL=Mutual.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mutual.d.ts","sourceRoot":"","sources":["../../data/Mutual.ts"],"names":[],"mappings":"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"}
@@ -1,440 +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 { BatchStatementErrorCodeEnum, TransactionCanceledException, } from '@aws-sdk/client-dynamodb';
11
- import { marshall, unmarshall } from '@aws-sdk/util-dynamodb';
12
- import { ulid } from 'ulid';
13
- import { StandardError, StandardErrorCode } from '../errors/standard-error';
14
- import { fromLastKeyQuery } from '../helpers/fromLastKeyQuery';
15
- import { sleep } from '../helpers/sleep';
16
- import { toLastKeyResponse } from '../helpers/toLastKeyResponse';
17
- import { PROJECTION_EXPRESSION, } from './ProjectionExpression';
18
- import { Repository } from './abstract/Repository.base';
19
- export class Mutual {
20
- constructor(byEntityType, byEntityId, byData, entityType, entityId, data, mutualData, mutualId, _createdAt, _updatedAt, _mutualUpdatedAt, _expiresAt) {
21
- this.byEntityType = byEntityType;
22
- this.byEntityId = byEntityId;
23
- this.byData = byData;
24
- this.entityType = entityType;
25
- this.entityId = entityId;
26
- this.data = data;
27
- this.mutualData = mutualData;
28
- this.mutualId = mutualId;
29
- this._createdAt = _createdAt;
30
- this._updatedAt = _updatedAt;
31
- this._mutualUpdatedAt = _mutualUpdatedAt;
32
- this._expiresAt = _expiresAt;
33
- }
34
- static fromItem(item) {
35
- if (!item)
36
- throw new StandardError(StandardErrorCode.MUTUAL_IS_UNDEFINED, 'Mutual item empty');
37
- const parsedItem = unmarshall(item);
38
- return new Mutual(parsedItem.byEntityType, parsedItem.byEntityId, parsedItem.byData, parsedItem.entityType, parsedItem.entityId, parsedItem.data, parsedItem.mutualData, parsedItem.mutualId, parsedItem.createdAt ? new Date(parsedItem.createdAt) : undefined, parsedItem.updatedAt ? new Date(parsedItem.updatedAt) : undefined, parsedItem.mutualUpdatedAt
39
- ? new Date(parsedItem.mutualUpdatedAt)
40
- : undefined, parsedItem.expiresAt ? new Date(parsedItem.expiresAt) : undefined);
41
- }
42
- mainKeys() {
43
- return {
44
- PK: { S: this.mainPk },
45
- SK: { S: this.mainSk },
46
- };
47
- }
48
- subKeys() {
49
- return {
50
- PK: { S: this.byFullEntityId },
51
- SK: { S: this.fullEntityId },
52
- };
53
- }
54
- get byFullEntityId() {
55
- return `${this.byEntityType}#${this.byEntityId}`;
56
- }
57
- get fullEntityId() {
58
- return `${this.entityType}#${this.entityId}`;
59
- }
60
- get listEntitySK() {
61
- return this.entityType;
62
- }
63
- get mainPk() {
64
- return `MUTUAL#${this.mutualId}`;
65
- }
66
- get mainSk() {
67
- return '#METADATA#';
68
- }
69
- get createdAt() {
70
- var _a;
71
- return (_a = this._createdAt) === null || _a === void 0 ? void 0 : _a.toISOString();
72
- }
73
- get updatedAt() {
74
- var _a;
75
- return (_a = this._updatedAt) === null || _a === void 0 ? void 0 : _a.toISOString();
76
- }
77
- get mutualUpdatedAt() {
78
- var _a;
79
- return (_a = this._mutualUpdatedAt) === null || _a === void 0 ? void 0 : _a.toISOString();
80
- }
81
- get expiresAt() {
82
- var _a;
83
- return (_a = this._expiresAt) === null || _a === void 0 ? void 0 : _a.toISOString();
84
- }
85
- toItem() {
86
- return Object.assign(Object.assign({}, marshall(this.toJSON(), { removeUndefinedValues: true })), this.mainKeys());
87
- }
88
- toReversedItem() {
89
- const item = this.toJSON();
90
- const reversedMutual = Object.assign(Object.assign({}, item), { byEntityType: item.entityType, byEntityId: item.entityId, entityType: item.byEntityType, entityId: item.byEntityId, data: this.byData });
91
- return Object.assign(Object.assign({}, marshall(reversedMutual, { removeUndefinedValues: true })), this.mainKeys());
92
- }
93
- toJSON() {
94
- return {
95
- byEntityType: this.byEntityType,
96
- byEntityId: this.byEntityId,
97
- entityType: this.entityType,
98
- entityId: this.entityId,
99
- mutualId: this.mutualId,
100
- data: this.data,
101
- mutualData: this.mutualData,
102
- createdAt: this.createdAt,
103
- updatedAt: this.updatedAt,
104
- mutualUpdatedAt: this.mutualUpdatedAt,
105
- expiresAt: this.expiresAt,
106
- };
107
- }
108
- }
109
- export class MutualRepository extends Repository {
110
- constructor(TABLE_NAME, dynamodbClient, ddbUtils) {
111
- super();
112
- this.TABLE_NAME = TABLE_NAME;
113
- this.dynamodbClient = dynamodbClient;
114
- this.ddbUtils = ddbUtils;
115
- }
116
- listEntitiesByEntity(byEntityType_1, byEntityId_1, entityType_1) {
117
- return __awaiter(this, arguments, void 0, function* (byEntityType, byEntityId, entityType, opts = {}) {
118
- var _a, _b, _c, _d;
119
- const mutual = new Mutual(byEntityType, byEntityId, {}, entityType, 'list_by_only', {}, {});
120
- const listAssociationsQuery = {
121
- TableName: this.TABLE_NAME,
122
- KeyConditionExpression: '#PK = :PK and begins_with(#SK, :SK)',
123
- FilterExpression: 'attribute_not_exists(#expiresAt) or attribute_type(#expiresAt, :nullType)',
124
- ExpressionAttributeNames: {
125
- '#PK': 'PK',
126
- '#SK': 'SK',
127
- '#expiresAt': 'expiresAt',
128
- },
129
- ExpressionAttributeValues: {
130
- ':PK': {
131
- S: mutual.byFullEntityId,
132
- },
133
- ':SK': {
134
- S: `${mutual.listEntitySK}#`,
135
- },
136
- ':nullType': { S: 'NULL' },
137
- },
138
- ProjectionExpression: opts.ProjectionExpression,
139
- ScanIndexForward: false,
140
- };
141
- let lastKey = opts.lastKey;
142
- let items = [];
143
- let remainingCount = (_a = opts.limit) !== null && _a !== void 0 ? _a : 0;
144
- do {
145
- const resp = yield this.dynamodbClient.query(Object.assign(Object.assign(Object.assign({}, listAssociationsQuery), (remainingCount && { Limit: remainingCount })), (lastKey && {
146
- ExclusiveStartKey: fromLastKeyQuery(lastKey),
147
- })));
148
- items = items.concat(((_b = resp.Items) === null || _b === void 0 ? void 0 : _b.map((item) => Mutual.fromItem(item))) || []);
149
- lastKey = toLastKeyResponse(resp.LastEvaluatedKey);
150
- if (opts.limit) {
151
- remainingCount = remainingCount - ((_d = (_c = resp.Items) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0);
152
- }
153
- } while (
154
- // limit is given, haven't reach limit, and there are still items to retrieve
155
- (opts.limit && remainingCount && lastKey) ||
156
- // no limit is given and there are still items to retrieve
157
- (!opts.limit && lastKey));
158
- return {
159
- items,
160
- lastKey,
161
- };
162
- });
163
- }
164
- getMutual(byEntityType, byEntityId, entityType, entityId, opts) {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- var _a, _b;
167
- const mutual = new Mutual(byEntityType, byEntityId, {}, entityType, entityId, {}, {});
168
- const resp = yield this.dynamodbClient.query({
169
- TableName: this.TABLE_NAME,
170
- KeyConditionExpression: '#PK = :PK and begins_with(#SK, :SK)',
171
- FilterExpression: 'attribute_not_exists(#expiresAt) or attribute_type(#expiresAt, :nullType)',
172
- ExpressionAttributeNames: {
173
- '#PK': 'PK',
174
- '#SK': 'SK',
175
- '#expiresAt': 'expiresAt',
176
- },
177
- ExpressionAttributeValues: {
178
- ':PK': { S: mutual.byFullEntityId },
179
- ':SK': { S: mutual.fullEntityId },
180
- ':nullType': { S: 'NULL' },
181
- },
182
- Limit: 1,
183
- });
184
- let mutualMetadata = null;
185
- if (opts === null || opts === void 0 ? void 0 : opts.isFromMetadata) {
186
- const tempMutual = Mutual.fromItem((_a = resp.Items) === null || _a === void 0 ? void 0 : _a[0]);
187
- const respMetadataMutual = yield this.dynamodbClient.getItem({
188
- TableName: this.TABLE_NAME,
189
- Key: tempMutual.mainKeys(),
190
- ProjectionExpression: opts === null || opts === void 0 ? void 0 : opts.ProjectionExpression,
191
- });
192
- mutualMetadata = Mutual.fromItem(respMetadataMutual.Item);
193
- }
194
- return mutualMetadata || Mutual.fromItem((_b = resp.Items) === null || _b === void 0 ? void 0 : _b[0]);
195
- });
196
- }
197
- checkMutualExist(byEntityType, byEntityId, entityType, entityId) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- var _a;
200
- const mutual = new Mutual(byEntityType, byEntityId, {}, entityType, entityId, {}, {});
201
- const resp = yield this.dynamodbClient.getItem({
202
- TableName: this.TABLE_NAME,
203
- Key: mutual.subKeys(),
204
- ProjectionExpression: 'PK, SK, expiresAt',
205
- });
206
- if (resp.Item && !((_a = resp.Item) === null || _a === void 0 ? void 0 : _a.expiresAt)) {
207
- throw new StandardError(StandardErrorCode.MUTUAL_EXISTS, 'Entities are already linked');
208
- }
209
- return;
210
- });
211
- }
212
- createMutualTransactItems(mutual, opts) {
213
- const TransactItems = [
214
- {
215
- Put: {
216
- TableName: this.TABLE_NAME,
217
- ConditionExpression: (opts === null || opts === void 0 ? void 0 : opts.ConditionExpression) ||
218
- 'attribute_not_exists(PK) OR attribute_exists(expiresAt)',
219
- ExpressionAttributeNames: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeNames,
220
- ExpressionAttributeValues: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeValues,
221
- Item: mutual.toItem(),
222
- },
223
- },
224
- {
225
- Put: {
226
- TableName: this.TABLE_NAME,
227
- ConditionExpression: (opts === null || opts === void 0 ? void 0 : opts.ConditionExpression) ||
228
- 'attribute_not_exists(PK) OR attribute_exists(expiresAt)',
229
- ExpressionAttributeNames: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeNames,
230
- ExpressionAttributeValues: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeValues,
231
- Item: Object.assign(Object.assign({}, mutual.toItem()), { PK: { S: mutual.byFullEntityId }, SK: { S: mutual.fullEntityId }, R1PK: { S: mutual.fullEntityId }, R1SK: { S: mutual.byFullEntityId }, R2PK: { S: mutual.mainPk }, R2SK: { S: mutual.byFullEntityId } }),
232
- },
233
- },
234
- {
235
- Put: {
236
- TableName: this.TABLE_NAME,
237
- ConditionExpression: (opts === null || opts === void 0 ? void 0 : opts.ConditionExpression) ||
238
- 'attribute_not_exists(PK) OR attribute_exists(expiresAt)',
239
- ExpressionAttributeNames: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeNames,
240
- ExpressionAttributeValues: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeValues,
241
- Item: Object.assign(Object.assign({}, mutual.toReversedItem()), { PK: { S: mutual.fullEntityId }, SK: { S: mutual.byFullEntityId }, R1PK: { S: mutual.byFullEntityId }, R1SK: { S: mutual.fullEntityId }, R2PK: { S: mutual.mainPk }, R2SK: { S: mutual.fullEntityId } }),
242
- },
243
- },
244
- ];
245
- return TransactItems;
246
- }
247
- createMutual(byEntityType_1, byEntityId_1, byData_1, entityType_1, entityId_1, data_1) {
248
- return __awaiter(this, arguments, void 0, function* (byEntityType, byEntityId, byData, entityType, entityId, data, mutualData = {}, opts) {
249
- const errorContext = {};
250
- const currentDatetime = (opts === null || opts === void 0 ? void 0 : opts.createAndUpdateDatetime) || new Date();
251
- const mutual = new Mutual(byEntityType, byEntityId, byData, entityType, entityId, data, mutualData, ulid(), currentDatetime, currentDatetime, currentDatetime);
252
- const TransactItems = this.createMutualTransactItems(mutual, {
253
- ConditionExpression: opts === null || opts === void 0 ? void 0 : opts.ConditionExpression,
254
- ExpressionAttributeNames: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeNames,
255
- ExpressionAttributeValues: opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeValues,
256
- });
257
- errorContext.TransactItems = TransactItems;
258
- yield this.dynamodbClient.transactWriteItems({ TransactItems });
259
- return mutual;
260
- });
261
- }
262
- updateMutual(byEntityType, byEntityId, entityType, entityId, toUpdate, opts) {
263
- return __awaiter(this, void 0, void 0, function* () {
264
- var _a;
265
- const returnUpdatedValue = (_a = opts === null || opts === void 0 ? void 0 : opts.returnUpdatedValue) !== null && _a !== void 0 ? _a : false;
266
- const errorContext = {};
267
- try {
268
- const mutual = yield this.getMutual(byEntityType, byEntityId, entityType, entityId, { ProjectionExpression: PROJECTION_EXPRESSION.NO_DATA });
269
- const currentDatetime = new Date().toISOString();
270
- const toUpdateExpressions = this.toUpdate(Object.assign({ mutualUpdatedAt: currentDatetime }, toUpdate), { maxLevel: opts === null || opts === void 0 ? void 0 : opts.maxObjectUpdateLevel });
271
- const updateExpression = {
272
- ConditionExpression: (opts === null || opts === void 0 ? void 0 : opts.ConditionExpression) || 'attribute_exists(PK)',
273
- UpdateExpression: toUpdateExpressions.UpdateExpression,
274
- ExpressionAttributeNames: Object.assign(Object.assign({}, toUpdateExpressions.ExpressionAttributeNames), opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeNames),
275
- ExpressionAttributeValues: Object.assign(Object.assign({}, toUpdateExpressions.ExpressionAttributeValues), opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeValues),
276
- };
277
- const TransactItems = [
278
- {
279
- Update: Object.assign({ TableName: this.TABLE_NAME, Key: mutual.mainKeys() }, updateExpression),
280
- },
281
- {
282
- Update: Object.assign({ TableName: this.TABLE_NAME, Key: {
283
- PK: { S: mutual.byFullEntityId },
284
- SK: { S: mutual.fullEntityId },
285
- } }, updateExpression),
286
- },
287
- {
288
- Update: Object.assign({ TableName: this.TABLE_NAME, Key: {
289
- PK: { S: mutual.fullEntityId },
290
- SK: { S: mutual.byFullEntityId },
291
- } }, updateExpression),
292
- },
293
- ];
294
- errorContext.TransactItems = TransactItems;
295
- yield this.ddbUtils.executeTransactWrite({ TransactItems });
296
- if (!returnUpdatedValue) {
297
- return;
298
- }
299
- const updatedMutual = yield this.getMutual(byEntityType, byEntityId, entityType, entityId);
300
- return updatedMutual;
301
- }
302
- catch (err) {
303
- if (err instanceof StandardError &&
304
- err.code === StandardErrorCode.CONDITIONAL_CHECK_FAILED) {
305
- throw new StandardError(StandardErrorCode.MUTUAL_NOT_FOUND, 'Mutual not found', err, {
306
- errorContext,
307
- });
308
- }
309
- throw err;
310
- }
311
- });
312
- }
313
- deleteMutual(byEntityType, byEntityId, entityType, entityId, opts) {
314
- return __awaiter(this, void 0, void 0, function* () {
315
- var _a;
316
- const errorContext = {
317
- byEntityType,
318
- byEntityId,
319
- entityType,
320
- entityId,
321
- };
322
- try {
323
- const mutual = yield this.getMutual(byEntityType, byEntityId, entityType, entityId, { ProjectionExpression: PROJECTION_EXPRESSION.NO_DATA });
324
- const tenMinsLater = Math.floor(new Date().getTime() / 1000 + 10 * 60);
325
- const expressions = {
326
- UpdateExpression: 'SET #expiresAt = :expiresAt, #mutualUpdatedAt = :mutualUpdatedAt, #updatedAt = :mutualUpdatedAt',
327
- ConditionExpression: (opts === null || opts === void 0 ? void 0 : opts.ConditionExpression) ||
328
- 'attribute_exists(PK) AND attribute_not_exists(#expiresAt)',
329
- ExpressionAttributeNames: Object.assign({ '#expiresAt': 'expiresAt', '#mutualUpdatedAt': 'mutualUpdatedAt', '#updatedAt': 'updatedAt' }, opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeNames),
330
- ExpressionAttributeValues: Object.assign({ ':expiresAt': { N: String(tenMinsLater) }, ':mutualUpdatedAt': { S: new Date().toISOString() } }, opts === null || opts === void 0 ? void 0 : opts.ExpressionAttributeValues),
331
- };
332
- const TransactItems = [
333
- {
334
- Update: Object.assign({ TableName: this.TABLE_NAME, Key: mutual.mainKeys() }, expressions),
335
- },
336
- {
337
- Update: Object.assign({ TableName: this.TABLE_NAME, Key: {
338
- PK: { S: mutual.byFullEntityId },
339
- SK: { S: mutual.fullEntityId },
340
- } }, expressions),
341
- },
342
- {
343
- Update: Object.assign({ TableName: this.TABLE_NAME, Key: {
344
- PK: { S: mutual.fullEntityId },
345
- SK: { S: mutual.byFullEntityId },
346
- } }, expressions),
347
- },
348
- ];
349
- errorContext.TransactItems = TransactItems;
350
- yield this.dynamodbClient.transactWriteItems({ TransactItems });
351
- return mutual;
352
- }
353
- catch (err) {
354
- const isConditionalCheckFailed = err instanceof TransactionCanceledException &&
355
- ((_a = err.CancellationReasons) === null || _a === void 0 ? void 0 : _a.some((reason) => reason.Code === BatchStatementErrorCodeEnum.ConditionalCheckFailed));
356
- const isMutualIsUndefined = err instanceof StandardError &&
357
- err.code === StandardErrorCode.MUTUAL_IS_UNDEFINED;
358
- if (isConditionalCheckFailed || isMutualIsUndefined) {
359
- throw new StandardError(StandardErrorCode.MUTUAL_NOT_FOUND, 'Mutual not found', err, {
360
- errorContext,
361
- });
362
- }
363
- throw err;
364
- }
365
- });
366
- }
367
- createMutualLock(_a) {
368
- return __awaiter(this, arguments, void 0, function* ({ byEntityType, byEntityId, entityType, version, }) {
369
- var _b, _c, _d;
370
- let retryCount = 2;
371
- const itemKey = {
372
- PK: {
373
- S: `MUTUAL#${byEntityType}#${byEntityId}#${entityType}`,
374
- },
375
- SK: { S: '#LOCK#' },
376
- };
377
- do {
378
- try {
379
- const fiveMinsLater = Math.floor(new Date().getTime() / 1000 + 5 * 60);
380
- yield this.dynamodbClient.putItem({
381
- TableName: this.TABLE_NAME,
382
- Item: Object.assign(Object.assign({}, itemKey), { version: { S: version }, status: { S: 'LOCK' }, expiresAt: {
383
- // auto release lock in case the mutual logic gone wrong to prevent dead lock
384
- N: `${fiveMinsLater}`,
385
- } }),
386
- ConditionExpression: 'attribute_not_exists(PK) OR version < :version AND #status <> :status',
387
- ExpressionAttributeNames: { '#status': 'status' },
388
- ExpressionAttributeValues: {
389
- ':version': { S: version },
390
- ':status': { S: 'LOCK' },
391
- },
392
- });
393
- return;
394
- }
395
- catch (err) {
396
- console.log('=====CATCHED_MUTUAL_LOCK_CONFLICT=====');
397
- const lock = yield this.dynamodbClient.getItem({
398
- TableName: this.TABLE_NAME,
399
- Key: itemKey,
400
- });
401
- // if version is lower, throw not retryable error to skip
402
- const existingVersion = (_d = (_c = (_b = lock.Item) === null || _b === void 0 ? void 0 : _b.version) === null || _c === void 0 ? void 0 : _c.S) !== null && _d !== void 0 ? _d : '';
403
- const isExistingVersionGreaterThanNewVersion = existingVersion >= version;
404
- if (isExistingVersionGreaterThanNewVersion) {
405
- throw new StandardError(StandardErrorCode.MUTUAL_LOCK_CONFLICT, 'Lock conflict', err, { lock: lock.Item });
406
- }
407
- // default behaviour
408
- // if version is higher, retry
409
- // if lock not found, retry
410
- yield sleep(2000);
411
- console.log('=====RETRY_MUTUAL_LOCK=====');
412
- }
413
- } while (retryCount-- > 0);
414
- // catch real unhandled error, so it can reach DLQ for inspection
415
- throw new StandardError(StandardErrorCode.RETRYABLE_MUTUAL_LOCK_CONFLICT, 'Retryable lock conflict');
416
- });
417
- }
418
- deleteMutualLock(_a) {
419
- return __awaiter(this, arguments, void 0, function* ({ byEntityType, byEntityId, entityType, }) {
420
- try {
421
- yield this.dynamodbClient.updateItem({
422
- TableName: this.TABLE_NAME,
423
- Key: {
424
- PK: {
425
- S: `MUTUAL#${byEntityType}#${byEntityId}#${entityType}`,
426
- },
427
- SK: { S: '#LOCK#' },
428
- },
429
- UpdateExpression: 'REMOVE #status',
430
- ExpressionAttributeNames: { '#status': 'status' },
431
- });
432
- return;
433
- }
434
- catch (error) {
435
- // if lock is not found, it's okay
436
- }
437
- });
438
- }
439
- }
440
- //# sourceMappingURL=Mutual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Mutual.js","sourceRoot":"","sources":["../../data/Mutual.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export type ProjectionExpressionValues = (typeof PROJECTION_EXPRESSION)[keyof typeof PROJECTION_EXPRESSION];
2
- export declare const PROJECTION_EXPRESSION: {
3
- readonly NO_DATA: "byEntityType, byEntityId, entityType, entityId, mutualId";
4
- readonly MUTUAL_DATA_ONLY: "byEntityType, byEntityId, entityType, entityId, mutualId, mutualData";
5
- };
6
- //# sourceMappingURL=ProjectionExpression.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectionExpression.d.ts","sourceRoot":"","sources":["../../data/ProjectionExpression.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErE,eAAO,MAAM,qBAAqB;;;CAIxB,CAAC"}
@@ -1,5 +0,0 @@
1
- export const PROJECTION_EXPRESSION = {
2
- NO_DATA: 'byEntityType, byEntityId, entityType, entityId, mutualId',
3
- MUTUAL_DATA_ONLY: 'byEntityType, byEntityId, entityType, entityId, mutualId, mutualData',
4
- };
5
- //# sourceMappingURL=ProjectionExpression.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectionExpression.js","sourceRoot":"","sources":["../../data/ProjectionExpression.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,0DAA0D;IACnE,gBAAgB,EACd,sEAAsE;CAChE,CAAC"}