@monorise/core 0.0.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs/service.config.d.ts +5 -0
- package/dist/configs/service.config.d.ts.map +1 -0
- package/dist/configs/service.config.js +5 -0
- package/dist/configs/service.config.js.map +1 -0
- package/dist/constants/table.d.ts +4 -0
- package/dist/constants/table.d.ts.map +1 -0
- package/dist/constants/table.js +4 -0
- package/dist/constants/table.js.map +1 -0
- package/dist/controllers/entity/create-entity.controller.d.ts +8 -0
- package/dist/controllers/entity/create-entity.controller.d.ts.map +1 -0
- package/dist/controllers/entity/create-entity.controller.js +44 -0
- package/dist/controllers/entity/create-entity.controller.js.map +1 -0
- package/dist/controllers/entity/delete-entity.controller.d.ts +8 -0
- package/dist/controllers/entity/delete-entity.controller.d.ts.map +1 -0
- package/dist/controllers/entity/delete-entity.controller.js +29 -0
- package/dist/controllers/entity/delete-entity.controller.js.map +1 -0
- package/dist/controllers/entity/get-entity.controller.d.ts +8 -0
- package/dist/controllers/entity/get-entity.controller.d.ts.map +1 -0
- package/dist/controllers/entity/get-entity.controller.js +24 -0
- package/dist/controllers/entity/get-entity.controller.js.map +1 -0
- package/dist/controllers/entity/list-entities.controller.d.ts +8 -0
- package/dist/controllers/entity/list-entities.controller.d.ts.map +1 -0
- package/dist/controllers/entity/list-entities.controller.js +56 -0
- package/dist/controllers/entity/list-entities.controller.js.map +1 -0
- package/dist/controllers/entity/update-entity.controller.d.ts +8 -0
- package/dist/controllers/entity/update-entity.controller.d.ts.map +1 -0
- package/dist/controllers/entity/update-entity.controller.js +45 -0
- package/dist/controllers/entity/update-entity.controller.js.map +1 -0
- package/dist/controllers/entity/upsert-entity.controller.d.ts +12 -0
- package/dist/controllers/entity/upsert-entity.controller.d.ts.map +1 -0
- package/dist/controllers/entity/upsert-entity.controller.js +74 -0
- package/dist/controllers/entity/upsert-entity.controller.js.map +1 -0
- package/dist/controllers/mutual/create-mutual.controller.d.ts +8 -0
- package/dist/controllers/mutual/create-mutual.controller.d.ts.map +1 -0
- package/dist/controllers/mutual/create-mutual.controller.js +49 -0
- package/dist/controllers/mutual/create-mutual.controller.js.map +1 -0
- package/dist/controllers/mutual/delete-mutual.controller.d.ts +8 -0
- package/dist/controllers/mutual/delete-mutual.controller.d.ts.map +1 -0
- package/dist/controllers/mutual/delete-mutual.controller.js +31 -0
- package/dist/controllers/mutual/delete-mutual.controller.js.map +1 -0
- package/dist/controllers/mutual/get-mutual.controller.d.ts +8 -0
- package/dist/controllers/mutual/get-mutual.controller.d.ts.map +1 -0
- package/dist/controllers/mutual/get-mutual.controller.js +24 -0
- package/dist/controllers/mutual/get-mutual.controller.js.map +1 -0
- package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts +8 -0
- package/dist/controllers/mutual/list-entities-by-entity.controller.d.ts.map +1 -0
- package/dist/controllers/mutual/list-entities-by-entity.controller.js +56 -0
- package/dist/controllers/mutual/list-entities-by-entity.controller.js.map +1 -0
- package/dist/controllers/mutual/update-mutual.controller.d.ts +8 -0
- package/dist/controllers/mutual/update-mutual.controller.d.ts.map +1 -0
- package/dist/controllers/mutual/update-mutual.controller.js +40 -0
- package/dist/controllers/mutual/update-mutual.controller.js.map +1 -0
- package/dist/controllers/setupRoutes.d.ts +5 -0
- package/dist/controllers/setupRoutes.d.ts.map +1 -0
- package/dist/controllers/setupRoutes.js +30 -0
- package/dist/controllers/setupRoutes.js.map +1 -0
- package/dist/controllers/tag/list-tags.controller.d.ts +8 -0
- package/dist/controllers/tag/list-tags.controller.d.ts.map +1 -0
- package/dist/controllers/tag/list-tags.controller.js +48 -0
- package/dist/controllers/tag/list-tags.controller.js.map +1 -0
- package/dist/data/DbUtils.d.ts +7 -0
- package/dist/data/DbUtils.d.ts.map +1 -0
- package/dist/data/DbUtils.js +23 -0
- package/dist/data/DbUtils.js.map +1 -0
- package/dist/data/Entity.d.ts +73 -0
- package/dist/data/Entity.d.ts.map +1 -0
- package/dist/data/Entity.js +361 -0
- package/dist/data/Entity.js.map +1 -0
- package/dist/data/EventUtils.d.ts +15 -0
- package/dist/data/EventUtils.d.ts.map +1 -0
- package/dist/data/EventUtils.js +35 -0
- package/dist/data/EventUtils.js.map +1 -0
- package/dist/data/FileObject.d.ts +62 -0
- package/dist/data/FileObject.d.ts.map +1 -0
- package/dist/data/FileObject.js +13 -0
- package/dist/data/FileObject.js.map +1 -0
- package/dist/data/Mutual.d.ts +94 -0
- package/dist/data/Mutual.d.ts.map +1 -0
- package/dist/data/Mutual.js +492 -0
- package/dist/data/Mutual.js.map +1 -0
- package/dist/data/ProjectionExpression.d.ts +6 -0
- package/dist/data/ProjectionExpression.d.ts.map +1 -0
- package/dist/data/ProjectionExpression.js +5 -0
- package/dist/data/ProjectionExpression.js.map +1 -0
- package/dist/data/Tag.d.ts +77 -0
- package/dist/data/Tag.d.ts.map +1 -0
- package/dist/data/Tag.js +330 -0
- package/dist/data/Tag.js.map +1 -0
- package/dist/data/abstract/Item.base.d.ts +11 -0
- package/dist/data/abstract/Item.base.d.ts.map +1 -0
- package/dist/data/abstract/Item.base.js +9 -0
- package/dist/data/abstract/Item.base.js.map +1 -0
- package/dist/data/abstract/Repository.base.d.ts +11 -0
- package/dist/data/abstract/Repository.base.d.ts.map +1 -0
- package/dist/data/abstract/Repository.base.js +54 -0
- package/dist/data/abstract/Repository.base.js.map +1 -0
- package/dist/errors/api-error.d.ts +23 -0
- package/dist/errors/api-error.d.ts.map +1 -0
- package/dist/errors/api-error.js +26 -0
- package/dist/errors/api-error.js.map +1 -0
- package/dist/errors/extendable-error.d.ts +18 -0
- package/dist/errors/extendable-error.d.ts.map +1 -0
- package/dist/errors/extendable-error.js +22 -0
- package/dist/errors/extendable-error.js.map +1 -0
- package/dist/errors/standard-error.d.ts +11 -0
- package/dist/errors/standard-error.d.ts.map +1 -0
- package/dist/errors/standard-error.js +21 -0
- package/dist/errors/standard-error.js.map +1 -0
- package/dist/helpers/dependencies.d.ts +8 -0
- package/dist/helpers/dependencies.d.ts.map +1 -0
- package/dist/helpers/dependencies.js +10 -0
- package/dist/helpers/dependencies.js.map +1 -0
- package/dist/helpers/event.d.ts +22 -0
- package/dist/helpers/event.d.ts.map +1 -0
- package/dist/helpers/event.js +47 -0
- package/dist/helpers/event.js.map +1 -0
- package/dist/helpers/fromLastKeyQuery.d.ts +3 -0
- package/dist/helpers/fromLastKeyQuery.d.ts.map +1 -0
- package/dist/helpers/fromLastKeyQuery.js +7 -0
- package/dist/helpers/fromLastKeyQuery.js.map +1 -0
- package/dist/helpers/sleep.d.ts +2 -0
- package/dist/helpers/sleep.d.ts.map +1 -0
- package/dist/helpers/sleep.js +2 -0
- package/dist/helpers/sleep.js.map +1 -0
- package/dist/helpers/toLastKeyResponse.d.ts +3 -0
- package/dist/helpers/toLastKeyResponse.d.ts.map +1 -0
- package/dist/helpers/toLastKeyResponse.js +7 -0
- package/dist/helpers/toLastKeyResponse.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/middlewares/entity-type-check.d.ts +4 -0
- package/dist/middlewares/entity-type-check.d.ts.map +1 -0
- package/dist/middlewares/entity-type-check.js +12 -0
- package/dist/middlewares/entity-type-check.js.map +1 -0
- package/dist/middlewares/mutual-type-check.d.ts +4 -0
- package/dist/middlewares/mutual-type-check.d.ts.map +1 -0
- package/dist/middlewares/mutual-type-check.js +13 -0
- package/dist/middlewares/mutual-type-check.js.map +1 -0
- package/dist/mock/entity.d.ts +5 -0
- package/dist/mock/entity.d.ts.map +1 -0
- package/dist/mock/entity.js +6 -0
- package/dist/mock/entity.js.map +1 -0
- package/dist/mock/monorise/admin.d.ts +127 -0
- package/dist/mock/monorise/admin.d.ts.map +1 -0
- package/dist/mock/monorise/admin.js +26 -0
- package/dist/mock/monorise/admin.js.map +1 -0
- package/dist/mock/monorise/course.d.ts +118 -0
- package/dist/mock/monorise/course.d.ts.map +1 -0
- package/dist/mock/monorise/course.js +53 -0
- package/dist/mock/monorise/course.js.map +1 -0
- package/dist/mock/monorise/index.d.ts +330 -0
- package/dist/mock/monorise/index.d.ts.map +1 -0
- package/dist/mock/monorise/index.js +19 -0
- package/dist/mock/monorise/index.js.map +1 -0
- package/dist/processors/create-entity-processor.d.ts +6 -0
- package/dist/processors/create-entity-processor.d.ts.map +1 -0
- package/dist/processors/create-entity-processor.js +32 -0
- package/dist/processors/create-entity-processor.js.map +1 -0
- package/dist/processors/mutual-processor.d.ts +16 -0
- package/dist/processors/mutual-processor.d.ts.map +1 -0
- package/dist/processors/mutual-processor.js +131 -0
- package/dist/processors/mutual-processor.js.map +1 -0
- package/dist/processors/prejoin-processor.d.ts +13 -0
- package/dist/processors/prejoin-processor.d.ts.map +1 -0
- package/dist/processors/prejoin-processor.js +149 -0
- package/dist/processors/prejoin-processor.js.map +1 -0
- package/dist/processors/replication-processor.d.ts +9 -0
- package/dist/processors/replication-processor.d.ts.map +1 -0
- package/dist/processors/replication-processor.js +179 -0
- package/dist/processors/replication-processor.js.map +1 -0
- package/dist/processors/tag-processor.d.ts +12 -0
- package/dist/processors/tag-processor.d.ts.map +1 -0
- package/dist/processors/tag-processor.js +105 -0
- package/dist/processors/tag-processor.js.map +1 -0
- package/dist/services/DependencyContainer.d.ts +63 -0
- package/dist/services/DependencyContainer.d.ts.map +1 -0
- package/dist/services/DependencyContainer.js +121 -0
- package/dist/services/DependencyContainer.js.map +1 -0
- package/dist/services/entity-service-lifecycle.d.ts +12 -0
- package/dist/services/entity-service-lifecycle.d.ts.map +1 -0
- package/dist/services/entity-service-lifecycle.js +32 -0
- package/dist/services/entity-service-lifecycle.js.map +1 -0
- package/dist/services/entity.service.d.ts +34 -0
- package/dist/services/entity.service.d.ts.map +1 -0
- package/dist/services/entity.service.js +117 -0
- package/dist/services/entity.service.js.map +1 -0
- package/dist/services/mutual.service.d.ts +64 -0
- package/dist/services/mutual.service.d.ts.map +1 -0
- package/dist/services/mutual.service.js +137 -0
- package/dist/services/mutual.service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/entity.type.d.ts +20 -0
- package/dist/types/entity.type.d.ts.map +1 -0
- package/dist/types/entity.type.js +2 -0
- package/dist/types/entity.type.js.map +1 -0
- package/dist/types/event.d.ts +72 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/event.js +74 -0
- package/dist/types/event.js.map +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import httpStatus from 'http-status';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export class ListEntitiesByEntityController {
|
|
4
|
+
associateRepository;
|
|
5
|
+
constructor(associateRepository) {
|
|
6
|
+
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);
|
|
34
|
+
}
|
|
35
|
+
byIds = items.map((item) => item.entityId);
|
|
36
|
+
}
|
|
37
|
+
return res.json({
|
|
38
|
+
entities: items,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
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',
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const resp = await this.associateRepository.listEntitiesByEntity(byEntityType, byEntityId, entityType);
|
|
50
|
+
return res.json({
|
|
51
|
+
entities: resp.items,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=list-entities-by-entity.controller.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Request, Response } from 'express';
|
|
2
|
+
import type { MutualService } from '../../services/mutual.service';
|
|
3
|
+
export declare class UpdateMutualController {
|
|
4
|
+
private mutualService;
|
|
5
|
+
constructor(mutualService: MutualService);
|
|
6
|
+
controller: (req: Request, res: Response) => void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=update-mutual.controller.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import httpStatus from 'http-status';
|
|
2
|
+
import { ZodError } from 'zod';
|
|
3
|
+
import { StandardError } from '../../errors/standard-error';
|
|
4
|
+
export class UpdateMutualController {
|
|
5
|
+
mutualService;
|
|
6
|
+
constructor(mutualService) {
|
|
7
|
+
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(),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (err instanceof StandardError && err.code === 'MUTUAL_NOT_FOUND') {
|
|
32
|
+
return res.status(httpStatus.BAD_REQUEST).json({
|
|
33
|
+
...err.toJSON(),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
throw err;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=update-mutual.controller.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Router } from 'express';
|
|
2
|
+
import type { DependencyContainer } from '../services/DependencyContainer';
|
|
3
|
+
declare const setupCommonRoutes: (container: DependencyContainer) => (router: Router) => void;
|
|
4
|
+
export { setupCommonRoutes };
|
|
5
|
+
//# sourceMappingURL=setupRoutes.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { entityTypeCheck } from '../middlewares/entity-type-check';
|
|
2
|
+
import { mutualTypeCheck } from '../middlewares/mutual-type-check';
|
|
3
|
+
const setupCommonRoutes = (container) => (router) => {
|
|
4
|
+
/*
|
|
5
|
+
* Mutual endpoint
|
|
6
|
+
*/
|
|
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);
|
|
14
|
+
/*
|
|
15
|
+
* Entities endpoint
|
|
16
|
+
*/
|
|
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);
|
|
24
|
+
/*
|
|
25
|
+
* Tag endpoint
|
|
26
|
+
*/
|
|
27
|
+
router.get('/tag/:entityType/:tagName', container.listTagsController.controller);
|
|
28
|
+
};
|
|
29
|
+
export { setupCommonRoutes };
|
|
30
|
+
//# sourceMappingURL=setupRoutes.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Request, Response } from 'express';
|
|
2
|
+
import type { TagRepository } from '../../data/Tag';
|
|
3
|
+
export declare class ListTagsController {
|
|
4
|
+
private tagRepository;
|
|
5
|
+
constructor(tagRepository: TagRepository);
|
|
6
|
+
controller: (req: Request, res: Response) => void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=list-tags.controller.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { fromLastKeyQuery } from '../../helpers/fromLastKeyQuery';
|
|
3
|
+
import { toLastKeyResponse } from '../../helpers/toLastKeyResponse';
|
|
4
|
+
const querySchema = z.object({
|
|
5
|
+
group: z.string().optional(),
|
|
6
|
+
query: z.string().optional(),
|
|
7
|
+
start: z.string().optional(),
|
|
8
|
+
end: z.string().optional(),
|
|
9
|
+
limit: z.string().optional(),
|
|
10
|
+
lastKey: z.string().optional(),
|
|
11
|
+
});
|
|
12
|
+
export class ListTagsController {
|
|
13
|
+
tagRepository;
|
|
14
|
+
constructor(tagRepository) {
|
|
15
|
+
this.tagRepository = tagRepository;
|
|
16
|
+
}
|
|
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
|
+
}
|
|
48
|
+
//# sourceMappingURL=list-tags.controller.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type DynamoDB, type TransactWriteItemsInput } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
export declare class DbUtils {
|
|
3
|
+
private ddbClient;
|
|
4
|
+
constructor(ddbClient: DynamoDB);
|
|
5
|
+
executeTransactWrite(params: TransactWriteItemsInput): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=DbUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DbUtils.d.ts","sourceRoot":"","sources":["../../data/DbUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAE7B,MAAM,0BAA0B,CAAC;AAGlC,qBAAa,OAAO;IACN,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,QAAQ;IAEjC,oBAAoB,CAAC,MAAM,EAAE,uBAAuB;CA4B3D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BatchStatementErrorCodeEnum, TransactionCanceledException, } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
import { StandardError } from '../errors/standard-error';
|
|
3
|
+
export class DbUtils {
|
|
4
|
+
ddbClient;
|
|
5
|
+
constructor(ddbClient) {
|
|
6
|
+
this.ddbClient = ddbClient;
|
|
7
|
+
}
|
|
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 });
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
throw new StandardError('TRANSACTION_FAILED', 'Failed to executeTransactWrite', err, { params });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=DbUtils.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type AttributeValue, type DynamoDB, type TransactWriteItem } from '@aws-sdk/client-dynamodb';
|
|
2
|
+
import type { EntitySchemaMap, Entity as EntityType, createEntityConfig } from '@monorise/base';
|
|
3
|
+
import type { ProjectionExpressionValues } from './ProjectionExpression';
|
|
4
|
+
import { Item } from './abstract/Item.base';
|
|
5
|
+
import { Repository } from './abstract/Repository.base';
|
|
6
|
+
export declare class Entity<T extends EntityType> extends Item {
|
|
7
|
+
entityType: T;
|
|
8
|
+
entityId?: string | undefined;
|
|
9
|
+
data: Partial<EntitySchemaMap[T]>;
|
|
10
|
+
private _createdAt?;
|
|
11
|
+
private _updatedAt?;
|
|
12
|
+
fullId: string;
|
|
13
|
+
constructor(entityType: T, entityId?: string | undefined, data?: Partial<EntitySchemaMap[T]>, _createdAt?: Date | undefined, _updatedAt?: Date | undefined);
|
|
14
|
+
static fromItem<T extends EntityType>(item?: Record<string, AttributeValue>): Entity<T>;
|
|
15
|
+
get pk(): string;
|
|
16
|
+
get sk(): string;
|
|
17
|
+
get listActionKey(): string;
|
|
18
|
+
get emailKeys(): Record<string, AttributeValue>;
|
|
19
|
+
get createdAt(): string | undefined;
|
|
20
|
+
get updatedAt(): string | undefined;
|
|
21
|
+
toItem(): Record<string, AttributeValue>;
|
|
22
|
+
toJSON(): Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export declare class EntityRepository extends Repository {
|
|
25
|
+
private EntityConfig;
|
|
26
|
+
private readonly TABLE_NAME;
|
|
27
|
+
private readonly dynamodbClient;
|
|
28
|
+
private readonly EmailAuthEnabledEntities;
|
|
29
|
+
constructor(EntityConfig: Record<EntityType, ReturnType<typeof createEntityConfig>>, TABLE_NAME: string, dynamodbClient: DynamoDB, EmailAuthEnabledEntities: string[]);
|
|
30
|
+
listEntities<T extends EntityType>({ entityType, limit, // if this is not set, it will return all items
|
|
31
|
+
between, options, }: {
|
|
32
|
+
entityType: T;
|
|
33
|
+
limit?: number;
|
|
34
|
+
between?: {
|
|
35
|
+
start: string;
|
|
36
|
+
end: string;
|
|
37
|
+
};
|
|
38
|
+
options?: {
|
|
39
|
+
lastKey?: Record<string, AttributeValue>;
|
|
40
|
+
ProjectionExpression?: ProjectionExpressionValues;
|
|
41
|
+
};
|
|
42
|
+
}): Promise<{
|
|
43
|
+
items: Entity<T>[];
|
|
44
|
+
totalCount?: number;
|
|
45
|
+
lastKey?: Record<string, AttributeValue>;
|
|
46
|
+
}>;
|
|
47
|
+
getEntity<T extends EntityType>(entityType: T, entityId: string): Promise<Entity<T>>;
|
|
48
|
+
getEntityByEmail<T extends EntityType>(entityType: T, email: string): Promise<Entity<T>>;
|
|
49
|
+
getEmailAvailability<T extends EntityType>(entityType: T, email: string): Promise<void>;
|
|
50
|
+
createEntityTransactItems<T extends EntityType>(entity: Entity<T>, opts?: {
|
|
51
|
+
mutualId?: string;
|
|
52
|
+
}): TransactWriteItem[];
|
|
53
|
+
createEntity<T extends EntityType>(entityType: T, entityPayload: EntitySchemaMap[T], entityId?: string, opts?: {
|
|
54
|
+
createAndUpdateDatetime?: Date;
|
|
55
|
+
mutualId?: string;
|
|
56
|
+
}): Promise<Entity<T>>;
|
|
57
|
+
upsertEntity<T extends EntityType>(entityType: T, entityId: string, payload: Partial<EntitySchemaMap[T]>): Promise<Entity<T>>;
|
|
58
|
+
updateEntity<T extends EntityType>(entityType: T, entityId: string, toUpdate: {
|
|
59
|
+
data: Partial<EntitySchemaMap[T]>;
|
|
60
|
+
updatedAt?: string;
|
|
61
|
+
}, opts?: {
|
|
62
|
+
ConditionExpression: string;
|
|
63
|
+
ExpressionAttributeNames: Record<string, string>;
|
|
64
|
+
ExpressionAttributeValues: Record<string, AttributeValue>;
|
|
65
|
+
}): Promise<Entity<T>>;
|
|
66
|
+
deleteEntity<T extends EntityType>(entityType: T, entityId: string): Promise<void>;
|
|
67
|
+
queryEntities<T extends EntityType>(entityType: T, query: string): Promise<{
|
|
68
|
+
items: Entity<T>[];
|
|
69
|
+
totalCount?: number;
|
|
70
|
+
filteredCount?: number;
|
|
71
|
+
}>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=Entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../data/Entity.ts"],"names":[],"mappings":"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"}
|