@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.
Files changed (198) hide show
  1. package/dist/constants/table.d.ts +0 -1
  2. package/dist/constants/table.d.ts.map +1 -1
  3. package/dist/constants/table.js +0 -1
  4. package/dist/constants/table.js.map +1 -1
  5. package/dist/controllers/entity/create-entity.controller.d.ts +1 -2
  6. package/dist/controllers/entity/create-entity.controller.d.ts.map +1 -1
  7. package/dist/controllers/entity/create-entity.controller.js +54 -34
  8. package/dist/controllers/entity/create-entity.controller.js.map +1 -1
  9. package/dist/controllers/entity/delete-entity.controller.d.ts +1 -2
  10. package/dist/controllers/entity/delete-entity.controller.d.ts.map +1 -1
  11. package/dist/controllers/entity/delete-entity.controller.js +30 -21
  12. package/dist/controllers/entity/delete-entity.controller.js.map +1 -1
  13. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts +7 -0
  14. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.d.ts.map +1 -0
  15. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js +36 -0
  16. package/dist/controllers/entity/get-entity-by-unique-field-value.controller.js.map +1 -0
  17. package/dist/controllers/entity/get-entity.controller.d.ts +1 -2
  18. package/dist/controllers/entity/get-entity.controller.d.ts.map +1 -1
  19. package/dist/controllers/entity/get-entity.controller.js +30 -17
  20. package/dist/controllers/entity/get-entity.controller.js.map +1 -1
  21. package/dist/controllers/entity/list-entities.controller.d.ts +1 -2
  22. package/dist/controllers/entity/list-entities.controller.d.ts.map +1 -1
  23. package/dist/controllers/entity/list-entities.controller.js +44 -39
  24. package/dist/controllers/entity/list-entities.controller.js.map +1 -1
  25. package/dist/controllers/entity/update-entity.controller.d.ts +1 -2
  26. package/dist/controllers/entity/update-entity.controller.d.ts.map +1 -1
  27. package/dist/controllers/entity/update-entity.controller.js +52 -35
  28. package/dist/controllers/entity/update-entity.controller.js.map +1 -1
  29. package/dist/controllers/entity/upsert-entity.controller.d.ts +3 -3
  30. package/dist/controllers/entity/upsert-entity.controller.d.ts.map +1 -1
  31. package/dist/controllers/entity/upsert-entity.controller.js +70 -60
  32. package/dist/controllers/entity/upsert-entity.controller.js.map +1 -1
  33. package/dist/controllers/mutual/create-mutual.controller.d.ts +2 -4
  34. package/dist/controllers/mutual/create-mutual.controller.d.ts.map +1 -1
  35. package/dist/controllers/mutual/create-mutual.controller.js +51 -45
  36. package/dist/controllers/mutual/create-mutual.controller.js.map +1 -1
  37. package/dist/controllers/mutual/delete-mutual.controller.d.ts +1 -2
  38. package/dist/controllers/mutual/delete-mutual.controller.d.ts.map +1 -1
  39. package/dist/controllers/mutual/delete-mutual.controller.js +32 -23
  40. package/dist/controllers/mutual/delete-mutual.controller.js.map +1 -1
  41. package/dist/controllers/mutual/get-mutual.controller.d.ts +1 -2
  42. package/dist/controllers/mutual/get-mutual.controller.d.ts.map +1 -1
  43. package/dist/controllers/mutual/get-mutual.controller.js +29 -17
  44. package/dist/controllers/mutual/get-mutual.controller.js.map +1 -1
  45. package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts +1 -2
  46. package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts.map +1 -1
  47. package/dist/controllers/mutual/list-entities-by-entity.controller.js +60 -44
  48. package/dist/controllers/mutual/list-entities-by-entity.controller.js.map +1 -1
  49. package/dist/controllers/mutual/update-mutual.controller.d.ts +1 -2
  50. package/dist/controllers/mutual/update-mutual.controller.d.ts.map +1 -1
  51. package/dist/controllers/mutual/update-mutual.controller.js +44 -30
  52. package/dist/controllers/mutual/update-mutual.controller.js.map +1 -1
  53. package/dist/controllers/setupRoutes.d.ts +2 -3
  54. package/dist/controllers/setupRoutes.d.ts.map +1 -1
  55. package/dist/controllers/setupRoutes.js +19 -17
  56. package/dist/controllers/setupRoutes.js.map +1 -1
  57. package/dist/controllers/tag/list-tags.controller.d.ts +1 -2
  58. package/dist/controllers/tag/list-tags.controller.d.ts.map +1 -1
  59. package/dist/controllers/tag/list-tags.controller.js +42 -33
  60. package/dist/controllers/tag/list-tags.controller.js.map +1 -1
  61. package/dist/data/DbUtils.js +24 -13
  62. package/dist/data/DbUtils.js.map +1 -1
  63. package/dist/data/Entity.d.ts +14 -10
  64. package/dist/data/Entity.d.ts.map +1 -1
  65. package/dist/data/Entity.js +370 -227
  66. package/dist/data/Entity.js.map +1 -1
  67. package/dist/data/EventUtils.d.ts +3 -3
  68. package/dist/data/EventUtils.d.ts.map +1 -1
  69. package/dist/data/EventUtils.js +35 -27
  70. package/dist/data/EventUtils.js.map +1 -1
  71. package/dist/data/Mutual.d.ts +7 -8
  72. package/dist/data/Mutual.d.ts.map +1 -1
  73. package/dist/data/Mutual.js +288 -341
  74. package/dist/data/Mutual.js.map +1 -1
  75. package/dist/data/Tag.d.ts +2 -2
  76. package/dist/data/Tag.d.ts.map +1 -1
  77. package/dist/data/Tag.js +229 -230
  78. package/dist/data/Tag.js.map +1 -1
  79. package/dist/data/abstract/Repository.base.js +4 -7
  80. package/dist/data/abstract/Repository.base.js.map +1 -1
  81. package/dist/errors/extendable-error.js +0 -7
  82. package/dist/errors/extendable-error.js.map +1 -1
  83. package/dist/errors/standard-error.d.ts +22 -0
  84. package/dist/errors/standard-error.d.ts.map +1 -1
  85. package/dist/errors/standard-error.js +21 -3
  86. package/dist/errors/standard-error.js.map +1 -1
  87. package/dist/handles/app.d.ts +16 -0
  88. package/dist/handles/app.d.ts.map +1 -0
  89. package/dist/handles/app.js +31 -0
  90. package/dist/handles/app.js.map +1 -0
  91. package/dist/helpers/event.d.ts.map +1 -1
  92. package/dist/helpers/event.js +35 -34
  93. package/dist/helpers/event.js.map +1 -1
  94. package/dist/index.d.ts +24 -16
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +12 -21
  97. package/dist/index.js.map +1 -1
  98. package/dist/middlewares/api-key-auth.d.ts +3 -0
  99. package/dist/middlewares/api-key-auth.d.ts.map +1 -0
  100. package/dist/middlewares/api-key-auth.js +32 -0
  101. package/dist/middlewares/api-key-auth.js.map +1 -0
  102. package/dist/middlewares/entity-type-check.d.ts +1 -1
  103. package/dist/middlewares/entity-type-check.d.ts.map +1 -1
  104. package/dist/middlewares/entity-type-check.js +17 -7
  105. package/dist/middlewares/entity-type-check.js.map +1 -1
  106. package/dist/middlewares/general-error-handler.d.ts +7 -0
  107. package/dist/middlewares/general-error-handler.d.ts.map +1 -0
  108. package/dist/middlewares/general-error-handler.js +40 -0
  109. package/dist/middlewares/general-error-handler.js.map +1 -0
  110. package/dist/middlewares/mutual-type-check.d.ts +1 -1
  111. package/dist/middlewares/mutual-type-check.d.ts.map +1 -1
  112. package/dist/middlewares/mutual-type-check.js +18 -8
  113. package/dist/middlewares/mutual-type-check.js.map +1 -1
  114. package/dist/processors/create-entity-processor.d.ts.map +1 -1
  115. package/dist/processors/create-entity-processor.js +17 -5
  116. package/dist/processors/create-entity-processor.js.map +1 -1
  117. package/dist/processors/mutual-processor.d.ts.map +1 -1
  118. package/dist/processors/mutual-processor.js +39 -29
  119. package/dist/processors/mutual-processor.js.map +1 -1
  120. package/dist/processors/prejoin-processor.d.ts.map +1 -1
  121. package/dist/processors/prejoin-processor.js +117 -104
  122. package/dist/processors/prejoin-processor.js.map +1 -1
  123. package/dist/processors/replication-processor.d.ts.map +1 -1
  124. package/dist/processors/replication-processor.js +31 -31
  125. package/dist/processors/replication-processor.js.map +1 -1
  126. package/dist/processors/tag-processor.js +48 -35
  127. package/dist/processors/tag-processor.js.map +1 -1
  128. package/dist/services/DependencyContainer.d.ts +16 -7
  129. package/dist/services/DependencyContainer.d.ts.map +1 -1
  130. package/dist/services/DependencyContainer.js +13 -24
  131. package/dist/services/DependencyContainer.js.map +1 -1
  132. package/dist/services/entity-service-lifecycle.js +29 -20
  133. package/dist/services/entity-service-lifecycle.js.map +1 -1
  134. package/dist/services/entity.service.d.ts +6 -6
  135. package/dist/services/entity.service.d.ts.map +1 -1
  136. package/dist/services/entity.service.js +96 -93
  137. package/dist/services/entity.service.js.map +1 -1
  138. package/dist/services/mutual.service.js +117 -113
  139. package/dist/services/mutual.service.js.map +1 -1
  140. package/dist/tsconfig.tsbuildinfo +1 -0
  141. package/dist/types/entity.type.d.ts.map +1 -1
  142. package/dist/types/event.d.ts +4 -3
  143. package/dist/types/event.d.ts.map +1 -1
  144. package/dist/types/event.js +9 -9
  145. package/dist/types/event.js.map +1 -1
  146. package/dist/vitest.config.d.ts +3 -0
  147. package/dist/vitest.config.d.ts.map +1 -0
  148. package/dist/vitest.config.js +10 -0
  149. package/dist/vitest.config.js.map +1 -0
  150. package/package.json +8 -6
  151. package/dist/mock/entity.d.ts +0 -13
  152. package/dist/mock/entity.d.ts.map +0 -1
  153. package/dist/mock/entity.js +0 -14
  154. package/dist/mock/entity.js.map +0 -1
  155. package/dist/mock/monorise/admin.d.ts +0 -127
  156. package/dist/mock/monorise/admin.d.ts.map +0 -1
  157. package/dist/mock/monorise/admin.js +0 -29
  158. package/dist/mock/monorise/admin.js.map +0 -1
  159. package/dist/mock/monorise/chapter.d.ts +0 -457
  160. package/dist/mock/monorise/chapter.d.ts.map +0 -1
  161. package/dist/mock/monorise/chapter.js +0 -81
  162. package/dist/mock/monorise/chapter.js.map +0 -1
  163. package/dist/mock/monorise/course.d.ts +0 -311
  164. package/dist/mock/monorise/course.d.ts.map +0 -1
  165. package/dist/mock/monorise/course.js +0 -128
  166. package/dist/mock/monorise/course.js.map +0 -1
  167. package/dist/mock/monorise/index.d.ts +0 -3599
  168. package/dist/mock/monorise/index.d.ts.map +0 -1
  169. package/dist/mock/monorise/index.js +0 -62
  170. package/dist/mock/monorise/index.js.map +0 -1
  171. package/dist/mock/monorise/learner.d.ts +0 -390
  172. package/dist/mock/monorise/learner.d.ts.map +0 -1
  173. package/dist/mock/monorise/learner.js +0 -59
  174. package/dist/mock/monorise/learner.js.map +0 -1
  175. package/dist/mock/monorise/learning-activity.d.ts +0 -266
  176. package/dist/mock/monorise/learning-activity.d.ts.map +0 -1
  177. package/dist/mock/monorise/learning-activity.js +0 -50
  178. package/dist/mock/monorise/learning-activity.js.map +0 -1
  179. package/dist/mock/monorise/learning-journey-config.d.ts +0 -84
  180. package/dist/mock/monorise/learning-journey-config.d.ts.map +0 -1
  181. package/dist/mock/monorise/learning-journey-config.js +0 -27
  182. package/dist/mock/monorise/learning-journey-config.js.map +0 -1
  183. package/dist/mock/monorise/module.d.ts +0 -211
  184. package/dist/mock/monorise/module.d.ts.map +0 -1
  185. package/dist/mock/monorise/module.js +0 -91
  186. package/dist/mock/monorise/module.js.map +0 -1
  187. package/dist/mock/monorise/organization.d.ts +0 -346
  188. package/dist/mock/monorise/organization.d.ts.map +0 -1
  189. package/dist/mock/monorise/organization.js +0 -54
  190. package/dist/mock/monorise/organization.js.map +0 -1
  191. package/dist/mock/monorise/reference.d.ts +0 -171
  192. package/dist/mock/monorise/reference.d.ts.map +0 -1
  193. package/dist/mock/monorise/reference.js +0 -25
  194. package/dist/mock/monorise/reference.js.map +0 -1
  195. package/dist/mock/monorise/video.d.ts +0 -346
  196. package/dist/mock/monorise/video.d.ts.map +0 -1
  197. package/dist/mock/monorise/video.js +0 -33
  198. package/dist/mock/monorise/video.js.map +0 -1
@@ -1,8 +1,7 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { MutualRepository } from '../../data/Mutual';
3
2
  export declare class ListEntitiesByEntityController {
4
3
  private associateRepository;
5
4
  constructor(associateRepository: MutualRepository);
6
- controller: (req: Request, res: Response) => void;
5
+ controller: import("hono").MiddlewareHandler<any, string, {}>;
7
6
  }
8
7
  //# sourceMappingURL=list-entities-by-entity.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-entities-by-entity.controller.d.ts","sourceRoot":"","sources":["../../../controllers/mutual/list-entities-by-entity.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAU,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAElE,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,gBAAgB;IAEzD,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAiE/C;CACH"}
1
+ {"version":3,"file":"list-entities-by-entity.controller.d.ts","sourceRoot":"","sources":["../../../controllers/mutual/list-entities-by-entity.controller.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAElE,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,mBAAmB;gBAAnB,mBAAmB,EAAE,gBAAgB;IAEzD,UAAU,oDAyEP;CACJ"}
@@ -1,56 +1,72 @@
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 { createMiddleware } from 'hono/factory';
1
11
  import httpStatus from 'http-status';
2
12
  import { z } from 'zod';
3
13
  export class ListEntitiesByEntityController {
4
- associateRepository;
5
14
  constructor(associateRepository) {
6
15
  this.associateRepository = associateRepository;
7
- }
8
- controller = async (req, res) => {
9
- const { byEntityType, byEntityId, entityType } = req.params;
10
- /**
11
- * Chain query is a query that allows to query entities by a chain of mutual types.
12
- * if /core/mutual/learner/:learnerId/pathways?chainEntityQuery=type1,type2
13
- * then the query will look for list of type1 in learner based on learnerId,
14
- * then look for list of type2 in type1 by list of entityId of type1,
15
- * then finally look for list of pathways in type2 by list of entityId of type2.
16
- */
17
- const querySchema = z.object({
18
- chainEntityQuery: z.string().optional(),
19
- });
20
- const queryParam = querySchema.parse(req.query);
21
- if (queryParam?.chainEntityQuery) {
22
- try {
23
- const mutualTypes = queryParam.chainEntityQuery.split(',');
24
- const chainMutualTypes = [byEntityType, ...mutualTypes, entityType];
25
- let byIds = [byEntityId];
26
- let items = [];
27
- for (let i = 1; i < chainMutualTypes.length; i++) {
28
- const byType = chainMutualTypes[i - 1];
29
- const type = chainMutualTypes[i];
30
- items = [];
31
- for (const byId of byIds) {
32
- const resp = await this.associateRepository.listEntitiesByEntity(byType, byId, type);
33
- items = items.concat(resp.items);
16
+ this.controller = createMiddleware((c) => __awaiter(this, void 0, void 0, function* () {
17
+ const { byEntityType, byEntityId, entityType } = c.req.param();
18
+ /**
19
+ * Chain query is a query that allows to query entities by a chain of mutual types.
20
+ * if /core/mutual/learner/:learnerId/pathways?chainEntityQuery=type1,type2
21
+ * then the query will look for list of type1 in learner based on learnerId,
22
+ * then look for list of type2 in type1 by list of entityId of type1,
23
+ * then finally look for list of pathways in type2 by list of entityId of type2.
24
+ */
25
+ const querySchema = z.object({
26
+ chainEntityQuery: z.string().optional(),
27
+ limit: z.coerce.number().optional(),
28
+ lastKey: z.string().optional(),
29
+ });
30
+ const queryParam = querySchema.parse(c.req.query());
31
+ if (queryParam === null || queryParam === void 0 ? void 0 : queryParam.chainEntityQuery) {
32
+ try {
33
+ const mutualTypes = queryParam.chainEntityQuery.split(',');
34
+ const chainMutualTypes = [byEntityType, ...mutualTypes, entityType];
35
+ let byIds = [byEntityId];
36
+ let items = [];
37
+ for (let i = 1; i < chainMutualTypes.length; i++) {
38
+ const byType = chainMutualTypes[i - 1];
39
+ const type = chainMutualTypes[i];
40
+ items = [];
41
+ for (const byId of byIds) {
42
+ const resp = yield this.associateRepository.listEntitiesByEntity(byType, byId, type);
43
+ items = items.concat(resp.items);
44
+ }
45
+ byIds = items.map((item) => item.entityId);
34
46
  }
35
- byIds = items.map((item) => item.entityId);
47
+ return c.json({
48
+ entities: items,
49
+ });
50
+ }
51
+ catch (err) {
52
+ c.status(httpStatus.BAD_REQUEST);
53
+ return c.json({
54
+ code: 'INVALID_CHAIN_QUERY',
55
+ message: 'Chain query is invalid. Please double check the chainEntityQuery param',
56
+ });
36
57
  }
37
- return res.json({
38
- entities: items,
39
- });
40
58
  }
41
- catch (err) {
42
- return res.status(httpStatus.BAD_REQUEST).json({
43
- code: 'INVALID_CHAIN_QUERY',
44
- message: 'Chain query is invalid. Please double check the chainEntityQuery param',
59
+ else {
60
+ const resp = yield this.associateRepository.listEntitiesByEntity(byEntityType, byEntityId, entityType, {
61
+ limit: queryParam.limit,
62
+ lastKey: queryParam.lastKey,
63
+ });
64
+ return c.json({
65
+ entities: resp.items,
66
+ lastKey: resp.lastKey,
45
67
  });
46
68
  }
47
- }
48
- else {
49
- const resp = await this.associateRepository.listEntitiesByEntity(byEntityType, byEntityId, entityType);
50
- return res.json({
51
- entities: resp.items,
52
- });
53
- }
54
- };
69
+ }));
70
+ }
55
71
  }
56
72
  //# sourceMappingURL=list-entities-by-entity.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-entities-by-entity.controller.js","sourceRoot":"","sources":["../../../controllers/mutual/list-entities-by-entity.controller.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,OAAO,8BAA8B;IACrB;IAApB,YAAoB,mBAAqC;QAArC,wBAAmB,GAAnB,mBAAmB,CAAkB;IAAG,CAAC;IAE7D,UAAU,GAA0C,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,MAIpD,CAAC;QAEF;;;;;;WAMG;QACH,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACxC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,KAAK,CACnD,GAAG,CACmB,CAAC;gBAEzB,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC;gBACpE,IAAI,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;gBACzB,IAAI,KAAK,GAAsD,EAAE,CAAC;gBAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvC,MAAM,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACjC,KAAK,GAAG,EAAE,CAAC;oBAEX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAC9D,MAAM,EACN,IAAI,EACJ,IAAI,CACL,CAAC;wBACF,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,CAAC;gBAED,OAAO,GAAG,CAAC,IAAI,CAAC;oBACd,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;oBAC7C,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EACL,wEAAwE;iBAC3E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAC9D,YAAY,EACZ,UAAU,EACV,UAAU,CACX,CAAC;YAEF,OAAO,GAAG,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,IAAI,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"list-entities-by-entity.controller.js","sourceRoot":"","sources":["../../../controllers/mutual/list-entities-by-entity.controller.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { MutualService } from '../../services/mutual.service';
3
2
  export declare class UpdateMutualController {
4
3
  private mutualService;
5
4
  constructor(mutualService: MutualService);
6
- controller: (req: Request, res: Response) => void;
5
+ controller: import("hono").MiddlewareHandler<any, string, {}>;
7
6
  }
8
7
  //# sourceMappingURL=update-mutual.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-mutual.controller.d.ts","sourceRoot":"","sources":["../../../controllers/mutual/update-mutual.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,qBAAa,sBAAsB;IACrB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAsC/C;CACH"}
1
+ {"version":3,"file":"update-mutual.controller.d.ts","sourceRoot":"","sources":["../../../controllers/mutual/update-mutual.controller.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,qBAAa,sBAAsB;IACrB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD,UAAU,oDAgDP;CACJ"}
@@ -1,40 +1,54 @@
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 { createMiddleware } from 'hono/factory';
1
11
  import httpStatus from 'http-status';
2
12
  import { ZodError } from 'zod';
3
- import { StandardError } from '../../errors/standard-error';
13
+ import { StandardError, StandardErrorCode } from '../../errors/standard-error';
4
14
  export class UpdateMutualController {
5
- mutualService;
6
15
  constructor(mutualService) {
7
16
  this.mutualService = mutualService;
8
- }
9
- controller = async (req, res) => {
10
- const accountId = req.headers['account-id'];
11
- const { byEntityType, byEntityId, entityType, entityId } = req.params;
12
- try {
13
- const mutual = await this.mutualService.updateMutual({
14
- byEntityType,
15
- byEntityId,
16
- entityType,
17
- entityId,
18
- mutualPayload: req.body,
19
- accountId,
20
- });
21
- return res.status(httpStatus.OK).json(mutual);
22
- }
23
- catch (err) {
24
- if (err instanceof ZodError) {
25
- return res.status(httpStatus.BAD_REQUEST).json({
26
- code: 'API_VALIDATION_ERROR',
27
- message: 'API validation failed',
28
- details: err.flatten(),
17
+ this.controller = createMiddleware((c) => __awaiter(this, void 0, void 0, function* () {
18
+ const accountId = c.req.header('account-id');
19
+ const { byEntityType, byEntityId, entityType, entityId } = c.req.param();
20
+ const body = yield c.req.json();
21
+ try {
22
+ const mutual = yield this.mutualService.updateMutual({
23
+ byEntityType,
24
+ byEntityId,
25
+ entityType,
26
+ entityId,
27
+ mutualPayload: body,
28
+ accountId,
29
+ options: {
30
+ returnUpdatedValue: true,
31
+ },
29
32
  });
33
+ return c.json(mutual);
30
34
  }
31
- if (err instanceof StandardError && err.code === 'MUTUAL_NOT_FOUND') {
32
- return res.status(httpStatus.BAD_REQUEST).json({
33
- ...err.toJSON(),
34
- });
35
+ catch (err) {
36
+ if (err instanceof ZodError) {
37
+ c.status(httpStatus.BAD_REQUEST);
38
+ return c.json({
39
+ code: 'API_VALIDATION_ERROR',
40
+ message: 'API validation failed',
41
+ details: err.flatten(),
42
+ });
43
+ }
44
+ if (err instanceof StandardError &&
45
+ err.code === StandardErrorCode.MUTUAL_NOT_FOUND) {
46
+ c.status(httpStatus.BAD_REQUEST);
47
+ return c.json(Object.assign({}, err.toJSON()));
48
+ }
49
+ throw err;
35
50
  }
36
- throw err;
37
- }
38
- };
51
+ }));
52
+ }
39
53
  }
40
54
  //# sourceMappingURL=update-mutual.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-mutual.controller.js","sourceRoot":"","sources":["../../../controllers/mutual/update-mutual.controller.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,OAAO,sBAAsB;IACb;IAApB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAEpD,UAAU,GAA0C,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GACtD,GAAG,CAAC,MAKH,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;gBACnD,YAAY;gBACZ,UAAU;gBACV,UAAU;gBACV,QAAQ;gBACR,aAAa,EAAE,GAAG,CAAC,IAAI;gBACvB,SAAS;aACV,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;oBAC7C,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,uBAAuB;oBAChC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACpE,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;oBAC7C,GAAG,GAAG,CAAC,MAAM,EAAE;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"update-mutual.controller.js","sourceRoot":"","sources":["../../../controllers/mutual/update-mutual.controller.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAG/E,MAAM,OAAO,sBAAsB;IACjC,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAEhD,eAAU,GAAG,gBAAgB,CAAC,CAAO,CAAC,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GACtD,CAAC,CAAC,GAAG,CAAC,KAAK,EAKV,CAAC;YAEJ,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAEhC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBACnD,YAAY;oBACZ,UAAU;oBACV,UAAU;oBACV,QAAQ;oBACR,aAAa,EAAE,IAAI;oBACnB,SAAS;oBACT,OAAO,EAAE;wBACP,kBAAkB,EAAE,IAAI;qBACzB;iBACF,CAAC,CAAC;gBAEH,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBACjC,OAAO,CAAC,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,sBAAsB;wBAC5B,OAAO,EAAE,uBAAuB;wBAChC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;qBACvB,CAAC,CAAC;gBACL,CAAC;gBAED,IACE,GAAG,YAAY,aAAa;oBAC5B,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,gBAAgB,EAC/C,CAAC;oBACD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBACjC,OAAO,CAAC,CAAC,IAAI,mBACR,GAAG,CAAC,MAAM,EAAE,EACf,CAAC;gBACL,CAAC;gBAED,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;IAlDgD,CAAC;CAmDrD"}
@@ -1,5 +1,4 @@
1
- import type { Router } from 'express';
1
+ import { Hono } from 'hono';
2
2
  import type { DependencyContainer } from '../services/DependencyContainer';
3
- declare const setupCommonRoutes: (container: DependencyContainer) => (router: Router) => void;
4
- export { setupCommonRoutes };
3
+ export declare const setupCommonRoutes: (container: DependencyContainer) => Hono;
5
4
  //# sourceMappingURL=setupRoutes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupRoutes.d.ts","sourceRoot":"","sources":["../../controllers/setupRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,QAAA,MAAM,iBAAiB,GACpB,WAAW,mBAAmB,MAAM,QAAQ,MAAM,SAoElD,CAAC;AAEJ,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"setupRoutes.d.ts","sourceRoot":"","sources":["../../controllers/setupRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,eAAO,MAAM,iBAAiB,GAAI,WAAW,mBAAmB,KAAG,IAgElE,CAAC"}
@@ -1,30 +1,32 @@
1
+ import { Hono } from 'hono';
1
2
  import { entityTypeCheck } from '../middlewares/entity-type-check';
2
3
  import { mutualTypeCheck } from '../middlewares/mutual-type-check';
3
- const setupCommonRoutes = (container) => (router) => {
4
+ export const setupCommonRoutes = (container) => {
5
+ const app = new Hono();
4
6
  /*
5
7
  * Mutual endpoint
6
8
  */
7
- // const container = new DependencyContainer();
8
- router.use('/mutual/:byEntityType/:byEntityId/:entityType', mutualTypeCheck(container));
9
- router.get('/mutual/:byEntityType/:byEntityId/:entityType', container.listEntitiesByEntityController.controller);
10
- router.post('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.createMutualController.controller);
11
- router.get('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.getMutualController.controller);
12
- router.patch('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.updateMutualController.controller);
13
- router.delete('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.deleteMutualController.controller);
9
+ app.use('/mutual/:byEntityType/:byEntityId/:entityType', mutualTypeCheck(container));
10
+ app.get('/mutual/:byEntityType/:byEntityId/:entityType', container.listEntitiesByEntityController.controller);
11
+ app.post('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.createMutualController.controller);
12
+ app.get('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.getMutualController.controller);
13
+ app.patch('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.updateMutualController.controller);
14
+ app.delete('/mutual/:byEntityType/:byEntityId/:entityType/:entityId', container.deleteMutualController.controller);
14
15
  /*
15
16
  * Entities endpoint
16
17
  */
17
- router.use('/entity/:entityType', entityTypeCheck(container));
18
- router.get('/entity/:entityType', container.listEntitiesController.controller);
19
- router.post('/entity/:entityType', container.createEntityController.controller);
20
- router.get('/entity/:entityType/:entityId', container.getEntityController.controller);
21
- router.put('/entity/:entityType/:entityId', container.upsertEntityController.controller);
22
- router.patch('/entity/:entityType/:entityId', container.updateEntityController.controller);
23
- router.delete('/entity/:entityType/:entityId', container.deleteEntityController.controller);
18
+ app.use('/entity/:entityType', entityTypeCheck(container));
19
+ app.get('/entity/:entityType', container.listEntitiesController.controller);
20
+ app.post('/entity/:entityType', container.createEntityController.controller);
21
+ app.get('/entity/:entityType/unique/:uniqueField/:uniqueFieldValue', container.getEntityByUniqueFieldController.controller);
22
+ app.get('/entity/:entityType/:entityId', container.getEntityController.controller);
23
+ app.put('/entity/:entityType/:entityId', container.upsertEntityController.controller);
24
+ app.patch('/entity/:entityType/:entityId', container.updateEntityController.controller);
25
+ app.delete('/entity/:entityType/:entityId', container.deleteEntityController.controller);
24
26
  /*
25
27
  * Tag endpoint
26
28
  */
27
- router.get('/tag/:entityType/:tagName', container.listTagsController.controller);
29
+ app.get('/tag/:entityType/:tagName', container.listTagsController.controller);
30
+ return app;
28
31
  };
29
- export { setupCommonRoutes };
30
32
  //# sourceMappingURL=setupRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupRoutes.js","sourceRoot":"","sources":["../../controllers/setupRoutes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,MAAM,iBAAiB,GACrB,CAAC,SAA8B,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IACrD;;OAEG;IACH,+CAA+C;IAE/C,MAAM,CAAC,GAAG,CACR,+CAA+C,EAC/C,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;IACF,MAAM,CAAC,GAAG,CACR,+CAA+C,EAC/C,SAAS,CAAC,8BAA8B,CAAC,UAAU,CACpD,CAAC;IACF,MAAM,CAAC,IAAI,CACT,yDAAyD,EACzD,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,MAAM,CAAC,GAAG,CACR,yDAAyD,EACzD,SAAS,CAAC,mBAAmB,CAAC,UAAU,CACzC,CAAC;IACF,MAAM,CAAC,KAAK,CACV,yDAAyD,EACzD,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,MAAM,CAAC,MAAM,CACX,yDAAyD,EACzD,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IAEF;;OAEG;IAEH,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,CACR,qBAAqB,EACrB,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,MAAM,CAAC,GAAG,CACR,+BAA+B,EAC/B,SAAS,CAAC,mBAAmB,CAAC,UAAU,CACzC,CAAC;IACF,MAAM,CAAC,GAAG,CACR,+BAA+B,EAC/B,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,MAAM,CAAC,KAAK,CACV,+BAA+B,EAC/B,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,MAAM,CAAC,MAAM,CACX,+BAA+B,EAC/B,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,GAAG,CACR,2BAA2B,EAC3B,SAAS,CAAC,kBAAkB,CAAC,UAAU,CACxC,CAAC;AACJ,CAAC,CAAC;AAEJ,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"setupRoutes.js","sourceRoot":"","sources":["../../controllers/setupRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAA8B,EAAQ,EAAE;IACxE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB;;OAEG;IAEH,GAAG,CAAC,GAAG,CACL,+CAA+C,EAC/C,eAAe,CAAC,SAAS,CAAC,CAC3B,CAAC;IACF,GAAG,CAAC,GAAG,CACL,+CAA+C,EAC/C,SAAS,CAAC,8BAA8B,CAAC,UAAU,CACpD,CAAC;IACF,GAAG,CAAC,IAAI,CACN,yDAAyD,EACzD,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,GAAG,CAAC,GAAG,CACL,yDAAyD,EACzD,SAAS,CAAC,mBAAmB,CAAC,UAAU,CACzC,CAAC;IACF,GAAG,CAAC,KAAK,CACP,yDAAyD,EACzD,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,GAAG,CAAC,MAAM,CACR,yDAAyD,EACzD,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IAEF;;OAEG;IAEH,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5E,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7E,GAAG,CAAC,GAAG,CACL,2DAA2D,EAC3D,SAAS,CAAC,gCAAgC,CAAC,UAAU,CACtD,CAAC;IACF,GAAG,CAAC,GAAG,CACL,+BAA+B,EAC/B,SAAS,CAAC,mBAAmB,CAAC,UAAU,CACzC,CAAC;IACF,GAAG,CAAC,GAAG,CACL,+BAA+B,EAC/B,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,GAAG,CAAC,KAAK,CACP,+BAA+B,EAC/B,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IACF,GAAG,CAAC,MAAM,CACR,+BAA+B,EAC/B,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAC5C,CAAC;IAEF;;OAEG;IACH,GAAG,CAAC,GAAG,CAAC,2BAA2B,EAAE,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9E,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -1,8 +1,7 @@
1
- import type { Request, Response } from 'express';
2
1
  import type { TagRepository } from '../../data/Tag';
3
2
  export declare class ListTagsController {
4
3
  private tagRepository;
5
4
  constructor(tagRepository: TagRepository);
6
- controller: (req: Request, res: Response) => void;
5
+ controller: import("hono").MiddlewareHandler<any, string, {}>;
7
6
  }
8
7
  //# sourceMappingURL=list-tags.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-tags.controller.d.ts","sourceRoot":"","sources":["../../../controllers/tag/list-tags.controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAapD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAoC/C;CACH"}
1
+ {"version":3,"file":"list-tags.controller.d.ts","sourceRoot":"","sources":["../../../controllers/tag/list-tags.controller.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD,UAAU,oDAqCP;CACJ"}
@@ -1,6 +1,15 @@
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 { createMiddleware } from 'hono/factory';
11
+ import httpStatus from 'http-status';
1
12
  import { z } from 'zod';
2
- import { fromLastKeyQuery } from '../../helpers/fromLastKeyQuery';
3
- import { toLastKeyResponse } from '../../helpers/toLastKeyResponse';
4
13
  const querySchema = z.object({
5
14
  group: z.string().optional(),
6
15
  query: z.string().optional(),
@@ -10,39 +19,39 @@ const querySchema = z.object({
10
19
  lastKey: z.string().optional(),
11
20
  });
12
21
  export class ListTagsController {
13
- tagRepository;
14
22
  constructor(tagRepository) {
15
23
  this.tagRepository = tagRepository;
24
+ this.controller = createMiddleware((c) => __awaiter(this, void 0, void 0, function* () {
25
+ const errorContext = {};
26
+ try {
27
+ errorContext.params = c.req.param();
28
+ errorContext.query = c.req.query();
29
+ const { entityType, tagName } = c.req.param();
30
+ const { lastKey, query, limit, start, end, group } = querySchema.parse(c.req.query());
31
+ const results = yield this.tagRepository.listTags({
32
+ entityType,
33
+ tagName,
34
+ limit: Number(limit),
35
+ options: {
36
+ lastKey,
37
+ },
38
+ query,
39
+ group,
40
+ start,
41
+ end,
42
+ });
43
+ return c.json({
44
+ entities: results.items.map((item) => item.toJSON()),
45
+ totalCount: results.totalCount,
46
+ lastKey: results.lastKey,
47
+ });
48
+ }
49
+ catch (error) {
50
+ console.log({ error, errorContext });
51
+ c.status(httpStatus.INTERNAL_SERVER_ERROR);
52
+ return c.json({ message: error });
53
+ }
54
+ }));
16
55
  }
17
- controller = async (req, res) => {
18
- const errorContext = {};
19
- try {
20
- errorContext.params = req.params;
21
- errorContext.query = req.query;
22
- const { entityType, tagName } = req.params;
23
- const { lastKey, query, limit, start, end, group } = querySchema.parse(req.query);
24
- const results = await this.tagRepository.listTags({
25
- entityType,
26
- tagName,
27
- limit: Number(limit),
28
- options: {
29
- lastKey: fromLastKeyQuery(lastKey),
30
- },
31
- query,
32
- group,
33
- start,
34
- end,
35
- });
36
- return res.json({
37
- entities: results.items.map((item) => item.toJSON()),
38
- totalCount: results.totalCount,
39
- lastKey: toLastKeyResponse(results.lastKey),
40
- });
41
- }
42
- catch (error) {
43
- console.log({ error, errorContext });
44
- return res.status(500).json({ message: error });
45
- }
46
- };
47
56
  }
48
57
  //# sourceMappingURL=list-tags.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-tags.controller.js","sourceRoot":"","sources":["../../../controllers/tag/list-tags.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAEpD,UAAU,GAA0C,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACrE,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACjC,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAE/B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAGnC,CAAC;YAEF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CACpE,GAAG,CAAC,KAAK,CACV,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAChD,UAAU;gBACV,OAAO;gBACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE;oBACP,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;iBACnC;gBACD,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,GAAG;aACJ,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpD,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACrC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"list-tags.controller.js","sourceRoot":"","sources":["../../../controllers/tag/list-tags.controller.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,OAAO,kBAAkB;IAC7B,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAEhD,eAAU,GAAG,gBAAgB,CAAC,CAAO,CAAC,EAAE,EAAE;YACxC,MAAM,YAAY,GAA4B,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACpC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBAEnC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAG1C,CAAC;gBAEF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,KAAK,CACpE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CACd,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAChD,UAAU;oBACV,OAAO;oBACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;oBACpB,OAAO,EAAE;wBACP,OAAO;qBACR;oBACD,KAAK;oBACL,KAAK;oBACL,KAAK;oBACL,GAAG;iBACJ,CAAC,CAAC;gBACH,OAAO,CAAC,CAAC,IAAI,CAAC;oBACZ,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpD,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;gBAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;IAvCgD,CAAC;CAwCrD"}
@@ -1,23 +1,34 @@
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 { BatchStatementErrorCodeEnum, TransactionCanceledException, } from '@aws-sdk/client-dynamodb';
2
- import { StandardError } from '../errors/standard-error';
11
+ import { StandardError, StandardErrorCode } from '../errors/standard-error';
3
12
  export class DbUtils {
4
- ddbClient;
5
13
  constructor(ddbClient) {
6
14
  this.ddbClient = ddbClient;
7
15
  }
8
- async executeTransactWrite(params) {
9
- try {
10
- await this.ddbClient.transactWriteItems(params);
11
- }
12
- catch (err) {
13
- if (err instanceof TransactionCanceledException) {
14
- const hasConditionalCheckFailed = err.CancellationReasons?.some((reason) => reason.Code === BatchStatementErrorCodeEnum.ConditionalCheckFailed);
15
- if (hasConditionalCheckFailed) {
16
- throw new StandardError('CONDITIONAL_CHECK_FAILED', 'Failed to executeTransactWrite', err, { params });
16
+ executeTransactWrite(params) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ var _a;
19
+ try {
20
+ yield this.ddbClient.transactWriteItems(params);
21
+ }
22
+ catch (err) {
23
+ if (err instanceof TransactionCanceledException) {
24
+ const hasConditionalCheckFailed = (_a = err.CancellationReasons) === null || _a === void 0 ? void 0 : _a.some((reason) => reason.Code === BatchStatementErrorCodeEnum.ConditionalCheckFailed);
25
+ if (hasConditionalCheckFailed) {
26
+ throw new StandardError(StandardErrorCode.CONDITIONAL_CHECK_FAILED, 'Failed to executeTransactWrite', err, { params });
27
+ }
17
28
  }
29
+ throw new StandardError(StandardErrorCode.TRANSACTION_FAILED, 'Failed to executeTransactWrite', err, { params });
18
30
  }
19
- throw new StandardError('TRANSACTION_FAILED', 'Failed to executeTransactWrite', err, { params });
20
- }
31
+ });
21
32
  }
22
33
  }
23
34
  //# sourceMappingURL=DbUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbUtils.js","sourceRoot":"","sources":["../../data/DbUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAG3B,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,OAAO,OAAO;IACE;IAApB,YAAoB,SAAmB;QAAnB,cAAS,GAAT,SAAS,CAAU;IAAG,CAAC;IAE3C,KAAK,CAAC,oBAAoB,CAAC,MAA+B;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,4BAA4B,EAAE,CAAC;gBAChD,MAAM,yBAAyB,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAC7D,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,2BAA2B,CAAC,sBAAsB,CACrE,CAAC;gBAEF,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,MAAM,IAAI,aAAa,CACrB,0BAA0B,EAC1B,gCAAgC,EAChC,GAAG,EACH,EAAE,MAAM,EAAE,CACX,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,IAAI,aAAa,CACrB,oBAAoB,EACpB,gCAAgC,EAChC,GAAG,EACH,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"DbUtils.js","sourceRoot":"","sources":["../../data/DbUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,2BAA2B,EAG3B,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,MAAM,OAAO,OAAO;IAClB,YAAoB,SAAmB;QAAnB,cAAS,GAAT,SAAS,CAAU;IAAG,CAAC;IAErC,oBAAoB,CAAC,MAA+B;;;YACxD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,4BAA4B,EAAE,CAAC;oBAChD,MAAM,yBAAyB,GAAG,MAAA,GAAG,CAAC,mBAAmB,0CAAE,IAAI,CAC7D,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,2BAA2B,CAAC,sBAAsB,CACrE,CAAC;oBAEF,IAAI,yBAAyB,EAAE,CAAC;wBAC9B,MAAM,IAAI,aAAa,CACrB,iBAAiB,CAAC,wBAAwB,EAC1C,gCAAgC,EAChC,GAAG,EACH,EAAE,MAAM,EAAE,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,aAAa,CACrB,iBAAiB,CAAC,kBAAkB,EACpC,gCAAgC,EAChC,GAAG,EACH,EAAE,MAAM,EAAE,CACX,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF"}
@@ -1,5 +1,5 @@
1
- import { type AttributeValue, type DynamoDB, type TransactWriteItem } from '@aws-sdk/client-dynamodb';
2
- import type { EntitySchemaMap, Entity as EntityType } from '@monorise/base';
1
+ import { type AttributeValue, type DynamoDB, type TransactWriteItem, type UpdateItemCommandInput } from '@aws-sdk/client-dynamodb';
2
+ import type { EntitySchemaMap, Entity as EntityType, createEntityConfig } from '@monorise/base';
3
3
  import type { ProjectionExpressionValues } from './ProjectionExpression';
4
4
  import { Item } from './abstract/Item.base';
5
5
  import { Repository } from './abstract/Repository.base';
@@ -26,7 +26,7 @@ export declare class EntityRepository extends Repository {
26
26
  private readonly TABLE_NAME;
27
27
  private readonly dynamodbClient;
28
28
  private readonly EmailAuthEnabledEntities;
29
- constructor(EntityConfig: any, TABLE_NAME: string, dynamodbClient: DynamoDB, EmailAuthEnabledEntities: string[]);
29
+ constructor(EntityConfig: Record<EntityType, ReturnType<typeof createEntityConfig>>, TABLE_NAME: string, dynamodbClient: DynamoDB, EmailAuthEnabledEntities: EntityType[]);
30
30
  listEntities<T extends EntityType>({ entityType, limit, // if this is not set, it will return all items
31
31
  between, options, }: {
32
32
  entityType: T;
@@ -36,32 +36,36 @@ export declare class EntityRepository extends Repository {
36
36
  end: string;
37
37
  };
38
38
  options?: {
39
- lastKey?: Record<string, AttributeValue>;
40
- ProjectionExpression?: ProjectionExpressionValues;
39
+ lastKey?: string;
40
+ ProjectionExpression?: ProjectionExpressionValues | (string & {});
41
41
  };
42
42
  }): Promise<{
43
43
  items: Entity<T>[];
44
44
  totalCount?: number;
45
- lastKey?: Record<string, AttributeValue>;
45
+ lastKey?: string;
46
46
  }>;
47
47
  getEntity<T extends EntityType>(entityType: T, entityId: string): Promise<Entity<T>>;
48
48
  getEntityByEmail<T extends EntityType>(entityType: T, email: string): Promise<Entity<T>>;
49
49
  getEmailAvailability<T extends EntityType>(entityType: T, email: string): Promise<void>;
50
- createEntityTransactItems<T extends EntityType>(entity: Entity<T>, opts?: {
50
+ getEntityByUniqueField<T extends EntityType>(entityType: T, fieldName: string, value: string): Promise<Entity<T>>;
51
+ getUniqueFieldValueAvailability<T extends EntityType>(entityType: T, fieldName: string, value: string): Promise<void>;
52
+ createEntityTransactItems<T extends EntityType>(entity: Entity<T>, opts: {
51
53
  mutualId?: string;
54
+ uniqueFieldValues?: Record<string, string>;
52
55
  }): TransactWriteItem[];
53
56
  createEntity<T extends EntityType>(entityType: T, entityPayload: EntitySchemaMap[T], entityId?: string, opts?: {
54
57
  createAndUpdateDatetime?: Date;
55
58
  mutualId?: string;
56
59
  }): Promise<Entity<T>>;
57
60
  upsertEntity<T extends EntityType>(entityType: T, entityId: string, payload: Partial<EntitySchemaMap[T]>): Promise<Entity<T>>;
61
+ updateEntityTransactItems<T extends EntityType>(entity: Entity<T>, updateParams: UpdateItemCommandInput, previousUniqueFieldValues: Record<string, string>, previousEntity: Entity<T>): TransactWriteItem[];
58
62
  updateEntity<T extends EntityType>(entityType: T, entityId: string, toUpdate: {
59
63
  data: Partial<EntitySchemaMap[T]>;
60
64
  updatedAt?: string;
61
65
  }, opts?: {
62
- ConditionExpression: string;
63
- ExpressionAttributeNames: Record<string, string>;
64
- ExpressionAttributeValues: Record<string, AttributeValue>;
66
+ ConditionExpression?: string;
67
+ ExpressionAttributeNames?: Record<string, string>;
68
+ ExpressionAttributeValues?: Record<string, AttributeValue>;
65
69
  }): Promise<Entity<T>>;
66
70
  deleteEntity<T extends EntityType>(entityType: T, entityId: string): Promise<void>;
67
71
  queryEntities<T extends EntityType>(entityType: T, query: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../data/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,qBAAa,MAAM,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,IAAI;IAI3C,UAAU,EAAE,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM;IACjB,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,UAAU,CAAC;IAPd,MAAM,EAAE,MAAM,CAAC;gBAGb,UAAU,EAAE,CAAC,EACb,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,IAAI,GAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAM,EACrC,UAAU,CAAC,EAAE,IAAI,YAAA,EACjB,UAAU,CAAC,EAAE,IAAI,YAAA;IAM3B,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACpC,MAAM,CAAC,CAAC,CAAC;IAeZ,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAS9C;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAOxC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASlC;AAED,qBAAa,gBAAiB,SAAQ,UAAU;IAE5C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;gBAHjC,YAAY,EAAE,GAAG,EACR,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,QAAQ,EACxB,wBAAwB,EAAE,MAAM,EAAE;IAK/C,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,EACvC,UAAU,EACV,KAAK,EAAE,+CAA+C;IACtD,OAAO,EACP,OAAY,GACb,EAAE;QACD,UAAU,EAAE,CAAC,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE;YACR,KAAK,EAAE,MAAM,CAAC;YACd,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;QACF,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACzC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;SACnD,CAAC;KACH,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAC1C,CAAC;IAgFI,SAAS,CAAC,CAAC,SAAS,UAAU,EAClC,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAUf,gBAAgB,CAAC,CAAC,SAAS,UAAU,EACzC,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAiBf,oBAAoB,CAAC,CAAC,SAAS,UAAU,EAC7C,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAqBhB,yBAAyB,CAAC,CAAC,SAAS,UAAU,EAC5C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,iBAAiB,EAAE;IAoDhB,YAAY,CAAC,CAAC,SAAS,UAAU,EACrC,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,EACjC,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QACL,uBAAuB,CAAC,EAAE,IAAI,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GACA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAkBf,YAAY,CAAC,CAAC,SAAS,UAAU,EACrC,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAwBf,YAAY,CAAC,CAAC,SAAS,UAAU,EACrC,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,EACD,IAAI,CAAC,EAAE;QACL,mBAAmB,EAAE,MAAM,CAAC;QAC5B,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAC3D,GACA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAuCf,YAAY,CAAC,CAAC,SAAS,UAAU,EACrC,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAoBV,aAAa,CAAC,CAAC,SAAS,UAAU,EACtC,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CAyCH"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../data/Entity.ts"],"names":[],"mappings":"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"}