@zola_do/crud 0.2.3 → 0.2.5
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/README.md +104 -1
- package/dist/controller/entity-crud.controller.d.ts +2 -2
- package/dist/controller/entity-crud.controller.js +60 -10
- package/dist/controller/entity-crud.controller.js.map +1 -1
- package/dist/controller/extra-crud.controller.d.ts +2 -2
- package/dist/controller/extra-crud.controller.js +59 -9
- package/dist/controller/extra-crud.controller.js.map +1 -1
- package/dist/controller/relation-crud.controller.d.ts +2 -2
- package/dist/controller/relation-crud.controller.js +58 -8
- package/dist/controller/relation-crud.controller.js.map +1 -1
- package/dist/crud-operation/repository/entity-crud.repository.js +1 -2
- package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -1
- package/dist/crud-operation/repository/extra-crud.repository.js +1 -2
- package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -1
- package/dist/optional/rpc.d.ts +1 -0
- package/dist/optional/rpc.js +18 -0
- package/dist/optional/rpc.js.map +1 -0
- package/dist/repository/index.d.ts +1 -0
- package/dist/repository/index.js +18 -0
- package/dist/repository/index.js.map +1 -0
- package/dist/request-context/index.d.ts +1 -0
- package/dist/request-context/index.js +18 -0
- package/dist/request-context/index.js.map +1 -0
- package/dist/service/entity-crud.service.d.ts +3 -3
- package/dist/service/entity-crud.service.js +111 -33
- package/dist/service/entity-crud.service.js.map +1 -1
- package/dist/service/extra-crud.service.d.ts +2 -2
- package/dist/service/extra-crud.service.js +111 -38
- package/dist/service/extra-crud.service.js.map +1 -1
- package/dist/service/relation-crud.service.js +15 -1
- package/dist/service/relation-crud.service.js.map +1 -1
- package/dist/shared/api-data/api-paginated-response.js +24 -0
- package/dist/shared/api-data/api-paginated-response.js.map +1 -1
- package/dist/shared/api-data/data-response-format.d.ts +6 -0
- package/dist/shared/api-data/data-response-format.js +24 -0
- package/dist/shared/api-data/data-response-format.js.map +1 -1
- package/dist/shared/exceptions/index.d.ts +0 -1
- package/dist/shared/exceptions/index.js +0 -1
- package/dist/shared/exceptions/index.js.map +1 -1
- package/dist/shared/request-context/apply-create-context.helper.js +17 -4
- package/dist/shared/request-context/apply-create-context.helper.js.map +1 -1
- package/dist/shared/types/crud-option.type.d.ts +69 -12
- package/dist/shared/utils/crud-hooks.helper.d.ts +31 -2
- package/dist/shared/utils/crud-hooks.helper.js +172 -1
- package/dist/shared/utils/crud-hooks.helper.js.map +1 -1
- package/dist/shared/utils/cursor-query.helper.d.ts +6 -0
- package/dist/shared/utils/cursor-query.helper.js +49 -0
- package/dist/shared/utils/cursor-query.helper.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/package.json +30 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../src/service/extra-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAKiB;AACjB,2CAMwB;AACxB,gEAImC;AACnC,
|
|
1
|
+
{"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../src/service/extra-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,6 +91,8 @@ let RelationCrudService = class RelationCrudService {
|
|
|
91
91
|
return await this.getData(entityId, entityIdName, include, filterInclude, query);
|
|
92
92
|
}
|
|
93
93
|
async getData(entityId, entityIdName, include, filterInclude, query) {
|
|
94
|
+
query.where = query.where || [];
|
|
95
|
+
query.includes = query.includes || [];
|
|
94
96
|
query.where.push([
|
|
95
97
|
{
|
|
96
98
|
column: entityIdName,
|
|
@@ -100,8 +102,20 @@ let RelationCrudService = class RelationCrudService {
|
|
|
100
102
|
]);
|
|
101
103
|
query.includes.push(include);
|
|
102
104
|
query.includes.push(filterInclude);
|
|
103
|
-
const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query, true);
|
|
104
105
|
const response = new shared_1.DataResponseFormat();
|
|
106
|
+
if (collection_query_1.QueryConstructor.isCursorQuery(query)) {
|
|
107
|
+
const cursorResult = await collection_query_1.QueryConstructor.runCursorQuery(this.repository, query, true);
|
|
108
|
+
response.total = cursorResult.total;
|
|
109
|
+
response.items = cursorResult.items;
|
|
110
|
+
response.nextCursor = cursorResult.nextCursor;
|
|
111
|
+
response.prevCursor = cursorResult.prevCursor;
|
|
112
|
+
response.hasNextPage = cursorResult.hasNextPage;
|
|
113
|
+
response.nc = cursorResult.nextCursor;
|
|
114
|
+
response.pc = cursorResult.prevCursor;
|
|
115
|
+
response.hn = cursorResult.hasNextPage;
|
|
116
|
+
return response;
|
|
117
|
+
}
|
|
118
|
+
const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query, true);
|
|
105
119
|
if (query.count) {
|
|
106
120
|
response.total = await dataQuery.getCount();
|
|
107
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../src/service/relation-crud.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../src/service/relation-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,30 @@ const ApiPaginatedResponse = (model) => {
|
|
|
18
18
|
type: 'array',
|
|
19
19
|
items: { $ref: (0, swagger_1.getSchemaPath)(model) },
|
|
20
20
|
},
|
|
21
|
+
nextCursor: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
nullable: true,
|
|
24
|
+
},
|
|
25
|
+
prevCursor: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
nullable: true,
|
|
28
|
+
},
|
|
29
|
+
hasNextPage: {
|
|
30
|
+
type: 'boolean',
|
|
31
|
+
nullable: true,
|
|
32
|
+
},
|
|
33
|
+
nc: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
nullable: true,
|
|
36
|
+
},
|
|
37
|
+
pc: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
nullable: true,
|
|
40
|
+
},
|
|
41
|
+
hn: {
|
|
42
|
+
type: 'boolean',
|
|
43
|
+
nullable: true,
|
|
44
|
+
},
|
|
21
45
|
},
|
|
22
46
|
},
|
|
23
47
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-paginated-response.js","sourceRoot":"","sources":["../../../src/shared/api-data/api-paginated-response.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,6CAA+D;AAC/D,iEAA4D;AACrD,MAAM,oBAAoB,GAAG,CAClC,KAAa,EACb,EAAE;IACF,OAAO,IAAA,wBAAe,EACpB,IAAA,uBAAa,EAAC;QACZ,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,yCAAkB,CAAC,EAAE;gBAC3C;oBACE,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,KAAK,CAAC,EAAE;yBACtC;qBACF;iBACF;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api-paginated-response.js","sourceRoot":"","sources":["../../../src/shared/api-data/api-paginated-response.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,6CAA+D;AAC/D,iEAA4D;AACrD,MAAM,oBAAoB,GAAG,CAClC,KAAa,EACb,EAAE;IACF,OAAO,IAAA,wBAAe,EACpB,IAAA,uBAAa,EAAC;QACZ,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,yCAAkB,CAAC,EAAE;gBAC3C;oBACE,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAA,uBAAa,EAAC,KAAK,CAAC,EAAE;yBACtC;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,UAAU,EAAE;4BACV,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,IAAI;yBACf;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;yBACf;wBACD,EAAE,EAAE;4BACF,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,IAAI;yBACf;qBACF;iBACF;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,oBAAoB,wBA+C/B"}
|
|
@@ -22,4 +22,28 @@ __decorate([
|
|
|
22
22
|
(0, swagger_1.ApiProperty)({ isArray: true }),
|
|
23
23
|
__metadata("design:type", Array)
|
|
24
24
|
], DataResponseFormat.prototype, "items", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, swagger_1.ApiProperty)({ required: false }),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], DataResponseFormat.prototype, "nextCursor", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, swagger_1.ApiProperty)({ required: false }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], DataResponseFormat.prototype, "prevCursor", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, swagger_1.ApiProperty)({ required: false }),
|
|
35
|
+
__metadata("design:type", Boolean)
|
|
36
|
+
], DataResponseFormat.prototype, "hasNextPage", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, swagger_1.ApiProperty)({ required: false }),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], DataResponseFormat.prototype, "nc", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, swagger_1.ApiProperty)({ required: false }),
|
|
43
|
+
__metadata("design:type", String)
|
|
44
|
+
], DataResponseFormat.prototype, "pc", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, swagger_1.ApiProperty)({ required: false }),
|
|
47
|
+
__metadata("design:type", Boolean)
|
|
48
|
+
], DataResponseFormat.prototype, "hn", void 0);
|
|
25
49
|
//# sourceMappingURL=data-response-format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-response-format.js","sourceRoot":"","sources":["../../../src/shared/api-data/data-response-format.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"data-response-format.js","sourceRoot":"","sources":["../../../src/shared/api-data/data-response-format.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,kBAAkB;CAiB9B;AAjBD,gDAiBC;AAfC;IADC,IAAA,qBAAW,GAAE;;iDACC;AAEf;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;iDACnB;AAEZ;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sDACb;AAEpB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sDACb;AAEpB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uDACX;AAEtB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACrB;AAEZ;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACrB;AAEZ;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CACpB"}
|
|
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./global-exception.filter"), exports);
|
|
18
|
-
__exportStar(require("./rpc-exception.filter"), exports);
|
|
19
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/exceptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/exceptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
|
|
@@ -6,10 +6,15 @@ const assignResolvedContext = (itemData, mappedContext) => {
|
|
|
6
6
|
Object.assign(itemData, mappedContext);
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
|
-
const getCreateHook = (options) => options === null || options === void 0 ? void 0 : options.mapCreateContext
|
|
9
|
+
const getCreateHook = (options) => typeof (options === null || options === void 0 ? void 0 : options.mapCreateContext) === 'function'
|
|
10
|
+
? options.mapCreateContext
|
|
11
|
+
: undefined;
|
|
10
12
|
const applyCreateContext = async (params) => {
|
|
11
|
-
var _a;
|
|
13
|
+
var _a, _b;
|
|
12
14
|
const { itemData, req, options, resolver } = params;
|
|
15
|
+
const hasCreateOverrideHook = typeof (options === null || options === void 0 ? void 0 : options.mapCreateContext) === 'function' ||
|
|
16
|
+
typeof (options === null || options === void 0 ? void 0 : options.beforeCreate) === 'function';
|
|
17
|
+
const forceServerOwnership = !hasCreateOverrideHook;
|
|
13
18
|
const localHook = getCreateHook(options);
|
|
14
19
|
if (localHook) {
|
|
15
20
|
const mappedContext = await localHook({ itemData, req });
|
|
@@ -24,8 +29,16 @@ const applyCreateContext = async (params) => {
|
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
if ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a.organization) {
|
|
27
|
-
itemData.organizationId
|
|
28
|
-
|
|
32
|
+
if (forceServerOwnership || itemData.organizationId == null) {
|
|
33
|
+
itemData.organizationId = req.user.organization.id;
|
|
34
|
+
}
|
|
35
|
+
if (forceServerOwnership || itemData.organizationName == null) {
|
|
36
|
+
itemData.organizationName = req.user.organization.name;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (((_b = req === null || req === void 0 ? void 0 : req.user) === null || _b === void 0 ? void 0 : _b.id) != null &&
|
|
40
|
+
(forceServerOwnership || itemData.userId == null)) {
|
|
41
|
+
itemData.userId = req.user.id;
|
|
29
42
|
}
|
|
30
43
|
};
|
|
31
44
|
exports.applyCreateContext = applyCreateContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-create-context.helper.js","sourceRoot":"","sources":["../../../src/shared/request-context/apply-create-context.helper.ts"],"names":[],"mappings":";;;AAUA,MAAM,qBAAqB,GAAG,CAC5B,QAA4B,EAC5B,aAAkD,EAClD,EAAE;IACF,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAqC,EAAE,CACnF,OAAO,
|
|
1
|
+
{"version":3,"file":"apply-create-context.helper.js","sourceRoot":"","sources":["../../../src/shared/request-context/apply-create-context.helper.ts"],"names":[],"mappings":";;;AAUA,MAAM,qBAAqB,GAAG,CAC5B,QAA4B,EAC5B,aAAkD,EAClD,EAAE;IACF,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAqC,EAAE,CACnF,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,gBAAgB,CAAA,KAAK,UAAU;IACtD,CAAC,CAAG,OAAe,CAAC,gBAA0C;IAC9D,CAAC,CAAC,SAAS,CAAC;AAET,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAKxC,EAAE,EAAE;;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpD,MAAM,qBAAqB,GACzB,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,gBAAgB,CAAA,KAAK,UAAU;QACxD,OAAO,CAAC,OAAe,aAAf,OAAO,uBAAP,OAAO,CAAU,YAAY,CAAA,KAAK,UAAU,CAAC;IACvD,MAAM,oBAAoB,GAAG,CAAC,qBAAqB,CAAC;IAEpD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7E,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,YAAY,EAAE,CAAC;QAC5B,IAAI,oBAAoB,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAC5D,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,oBAAoB,IAAI,QAAQ,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC9D,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IACE,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,EAAE,KAAI,IAAI;QACrB,CAAC,oBAAoB,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,EACjD,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AA1CW,QAAA,kBAAkB,sBA0C7B"}
|
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
export type CrudContextPayload = Record<string, any>;
|
|
2
|
+
export type CrudWherePayload = Record<string, any>;
|
|
3
|
+
export type CrudEntityOperationHookName = 'create' | 'findAll' | 'findOne' | 'update' | 'delete' | 'restore';
|
|
4
|
+
export type CrudAuthorizeResult = boolean | void | Promise<boolean | void>;
|
|
5
|
+
export type CrudHookContext = {
|
|
6
|
+
req?: any;
|
|
7
|
+
params?: Record<string, any>;
|
|
8
|
+
query?: Record<string, any>;
|
|
9
|
+
id?: string;
|
|
10
|
+
itemData?: CrudContextPayload;
|
|
11
|
+
where?: CrudWherePayload;
|
|
12
|
+
entity?: CrudContextPayload;
|
|
13
|
+
result?: any;
|
|
14
|
+
operation: CrudEntityOperationHookName;
|
|
15
|
+
service?: any;
|
|
16
|
+
repository?: any;
|
|
17
|
+
setMeta?: (key: string, value: any) => void;
|
|
18
|
+
getMeta?: <T = any>(key: string) => T | undefined;
|
|
19
|
+
};
|
|
20
|
+
export type CrudOperationHook = (context: CrudHookContext) => void | Partial<CrudContextPayload> | {
|
|
21
|
+
itemData?: Partial<CrudContextPayload>;
|
|
22
|
+
where?: Partial<CrudWherePayload>;
|
|
23
|
+
result?: any;
|
|
24
|
+
entity?: Partial<CrudContextPayload>;
|
|
25
|
+
} | Promise<void | Partial<CrudContextPayload> | {
|
|
26
|
+
itemData?: Partial<CrudContextPayload>;
|
|
27
|
+
where?: Partial<CrudWherePayload>;
|
|
28
|
+
result?: any;
|
|
29
|
+
entity?: Partial<CrudContextPayload>;
|
|
30
|
+
}>;
|
|
31
|
+
export type CrudAuthorizeHook = (context: CrudHookContext) => CrudAuthorizeResult;
|
|
32
|
+
export type CrudOperationAuthorizeHook = (context: CrudHookContext) => CrudAuthorizeResult;
|
|
2
33
|
export type CrudCreateContextHook = (params: {
|
|
3
34
|
itemData: CrudContextPayload;
|
|
4
35
|
req?: any;
|
|
@@ -43,15 +74,28 @@ export type EntityCrudOptions = {
|
|
|
43
74
|
mapUpdateContext?: CrudUpdateContextHook;
|
|
44
75
|
allowedWriteFields?: string[];
|
|
45
76
|
blockedWriteFields?: string[];
|
|
46
|
-
beforeCreate?: CrudMutationHook;
|
|
47
|
-
afterCreate?: CrudMutationHook;
|
|
48
|
-
|
|
49
|
-
|
|
77
|
+
beforeCreate?: CrudMutationHook | CrudOperationHook;
|
|
78
|
+
afterCreate?: CrudMutationHook | CrudOperationHook;
|
|
79
|
+
beforeFindAll?: CrudOperationHook;
|
|
80
|
+
afterFindAll?: CrudOperationHook;
|
|
81
|
+
beforeFindOne?: CrudOperationHook;
|
|
82
|
+
afterFindOne?: CrudOperationHook;
|
|
83
|
+
beforeUpdate?: CrudMutationHook | CrudOperationHook;
|
|
84
|
+
afterUpdate?: CrudMutationHook | CrudOperationHook;
|
|
85
|
+
beforeDelete?: CrudOperationHook;
|
|
86
|
+
afterDelete?: CrudOperationHook;
|
|
50
87
|
beforeSoftDelete?: CrudMutationHook;
|
|
51
88
|
afterSoftDelete?: CrudMutationHook;
|
|
52
89
|
deleteMode?: CrudDeleteMode;
|
|
53
|
-
beforeRestore?: CrudMutationHook;
|
|
54
|
-
afterRestore?: CrudMutationHook;
|
|
90
|
+
beforeRestore?: CrudMutationHook | CrudOperationHook;
|
|
91
|
+
afterRestore?: CrudMutationHook | CrudOperationHook;
|
|
92
|
+
authorize?: CrudAuthorizeHook;
|
|
93
|
+
canCreate?: CrudOperationAuthorizeHook;
|
|
94
|
+
canFindAll?: CrudOperationAuthorizeHook;
|
|
95
|
+
canFindOne?: CrudOperationAuthorizeHook;
|
|
96
|
+
canUpdate?: CrudOperationAuthorizeHook;
|
|
97
|
+
canDelete?: CrudOperationAuthorizeHook;
|
|
98
|
+
canRestore?: CrudOperationAuthorizeHook;
|
|
55
99
|
operations?: Partial<Record<CrudEntityOperationName, CrudEndpointDisableConfig>>;
|
|
56
100
|
};
|
|
57
101
|
export type ExtraCrudOptions = {
|
|
@@ -72,15 +116,28 @@ export type ExtraCrudOptions = {
|
|
|
72
116
|
mapUpdateContext?: CrudUpdateContextHook;
|
|
73
117
|
allowedWriteFields?: string[];
|
|
74
118
|
blockedWriteFields?: string[];
|
|
75
|
-
beforeCreate?: CrudMutationHook;
|
|
76
|
-
afterCreate?: CrudMutationHook;
|
|
77
|
-
|
|
78
|
-
|
|
119
|
+
beforeCreate?: CrudMutationHook | CrudOperationHook;
|
|
120
|
+
afterCreate?: CrudMutationHook | CrudOperationHook;
|
|
121
|
+
beforeFindAll?: CrudOperationHook;
|
|
122
|
+
afterFindAll?: CrudOperationHook;
|
|
123
|
+
beforeFindOne?: CrudOperationHook;
|
|
124
|
+
afterFindOne?: CrudOperationHook;
|
|
125
|
+
beforeUpdate?: CrudMutationHook | CrudOperationHook;
|
|
126
|
+
afterUpdate?: CrudMutationHook | CrudOperationHook;
|
|
127
|
+
beforeDelete?: CrudOperationHook;
|
|
128
|
+
afterDelete?: CrudOperationHook;
|
|
79
129
|
beforeSoftDelete?: CrudMutationHook;
|
|
80
130
|
afterSoftDelete?: CrudMutationHook;
|
|
81
131
|
deleteMode?: CrudDeleteMode;
|
|
82
|
-
beforeRestore?: CrudMutationHook;
|
|
83
|
-
afterRestore?: CrudMutationHook;
|
|
132
|
+
beforeRestore?: CrudMutationHook | CrudOperationHook;
|
|
133
|
+
afterRestore?: CrudMutationHook | CrudOperationHook;
|
|
134
|
+
authorize?: CrudAuthorizeHook;
|
|
135
|
+
canCreate?: CrudOperationAuthorizeHook;
|
|
136
|
+
canFindAll?: CrudOperationAuthorizeHook;
|
|
137
|
+
canFindOne?: CrudOperationAuthorizeHook;
|
|
138
|
+
canUpdate?: CrudOperationAuthorizeHook;
|
|
139
|
+
canDelete?: CrudOperationAuthorizeHook;
|
|
140
|
+
canRestore?: CrudOperationAuthorizeHook;
|
|
84
141
|
operations?: Partial<Record<CrudExtraOperationName, CrudEndpointDisableConfig>>;
|
|
85
142
|
};
|
|
86
143
|
export interface RelationCrudOptions {
|
|
@@ -1,10 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { CollectionQuery } from '@zola_do/collection-query';
|
|
2
|
+
import { CrudContextPayload, CrudEntityOperationHookName, CrudHookContext, CrudWherePayload, CrudWriteFilterOptions, EntityCrudOptions, ExtraCrudOptions } from '../types';
|
|
3
|
+
import { CrudRequestContextResolver } from '../request-context';
|
|
4
|
+
type HookName = 'beforeCreate' | 'afterCreate' | 'beforeFindAll' | 'afterFindAll' | 'beforeFindOne' | 'afterFindOne' | 'beforeUpdate' | 'afterUpdate' | 'beforeDelete' | 'afterDelete' | 'beforeSoftDelete' | 'afterSoftDelete' | 'beforeRestore' | 'afterRestore' | 'beforeAssignFirst' | 'afterAssignFirst' | 'beforeAssignSecond' | 'afterAssignSecond';
|
|
3
5
|
export declare const runCrudHook: (options: Record<string, any> | undefined, hookName: HookName, params: {
|
|
4
6
|
id?: string;
|
|
5
7
|
itemData?: CrudContextPayload;
|
|
6
8
|
entity?: CrudContextPayload;
|
|
7
9
|
req?: any;
|
|
8
10
|
}) => Promise<void>;
|
|
11
|
+
type CreateOptions = EntityCrudOptions | ExtraCrudOptions | undefined;
|
|
12
|
+
type EntityOptions = EntityCrudOptions | ExtraCrudOptions | undefined;
|
|
13
|
+
export declare const createCrudHookContext: (params: {
|
|
14
|
+
operation: CrudEntityOperationHookName;
|
|
15
|
+
req?: any;
|
|
16
|
+
params?: Record<string, any>;
|
|
17
|
+
query?: Record<string, any>;
|
|
18
|
+
id?: string;
|
|
19
|
+
itemData?: CrudContextPayload;
|
|
20
|
+
where?: CrudWherePayload;
|
|
21
|
+
entity?: CrudContextPayload;
|
|
22
|
+
result?: any;
|
|
23
|
+
service?: any;
|
|
24
|
+
repository?: any;
|
|
25
|
+
}) => CrudHookContext;
|
|
26
|
+
export declare const runBeforeOperationHooks: (options: EntityOptions, context: CrudHookContext) => Promise<void>;
|
|
27
|
+
export declare const runAfterOperationHooks: (options: EntityOptions, context: CrudHookContext) => Promise<void>;
|
|
28
|
+
export declare const runOperationAuthorization: (options: EntityOptions, context: CrudHookContext) => Promise<void>;
|
|
29
|
+
export declare const applyWhereToCollectionQuery: (query: CollectionQuery, where?: CrudWherePayload) => void;
|
|
30
|
+
export declare const runBeforeCreatePipeline: (params: {
|
|
31
|
+
itemData: CrudContextPayload;
|
|
32
|
+
req?: any;
|
|
33
|
+
options?: CreateOptions;
|
|
34
|
+
resolver?: CrudRequestContextResolver;
|
|
35
|
+
service?: any;
|
|
36
|
+
repository?: any;
|
|
37
|
+
}) => Promise<void>;
|
|
9
38
|
export declare const sanitizeWritePayload: (itemData: CrudContextPayload, options?: CrudWriteFilterOptions) => CrudContextPayload;
|
|
10
39
|
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sanitizeWritePayload = exports.runCrudHook = void 0;
|
|
3
|
+
exports.sanitizeWritePayload = exports.runBeforeCreatePipeline = exports.applyWhereToCollectionQuery = exports.runOperationAuthorization = exports.runAfterOperationHooks = exports.runBeforeOperationHooks = exports.createCrudHookContext = exports.runCrudHook = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
+
const collection_query_1 = require("@zola_do/collection-query");
|
|
6
|
+
const request_context_1 = require("../request-context");
|
|
5
7
|
const mergeHookResult = (payload, hookResult) => {
|
|
6
8
|
if (!payload || !hookResult || typeof hookResult !== 'object') {
|
|
7
9
|
return;
|
|
@@ -17,6 +19,175 @@ const runCrudHook = async (options, hookName, params) => {
|
|
|
17
19
|
mergeHookResult(params.itemData, hookResult);
|
|
18
20
|
};
|
|
19
21
|
exports.runCrudHook = runCrudHook;
|
|
22
|
+
const OPERATION_HOOK_NAMES = {
|
|
23
|
+
create: {
|
|
24
|
+
before: ['beforeCreate'],
|
|
25
|
+
after: ['afterCreate'],
|
|
26
|
+
can: 'canCreate',
|
|
27
|
+
},
|
|
28
|
+
findAll: {
|
|
29
|
+
before: ['beforeFindAll'],
|
|
30
|
+
after: ['afterFindAll'],
|
|
31
|
+
can: 'canFindAll',
|
|
32
|
+
},
|
|
33
|
+
findOne: {
|
|
34
|
+
before: ['beforeFindOne'],
|
|
35
|
+
after: ['afterFindOne'],
|
|
36
|
+
can: 'canFindOne',
|
|
37
|
+
},
|
|
38
|
+
update: {
|
|
39
|
+
before: ['beforeUpdate'],
|
|
40
|
+
after: ['afterUpdate'],
|
|
41
|
+
can: 'canUpdate',
|
|
42
|
+
},
|
|
43
|
+
delete: {
|
|
44
|
+
before: ['beforeSoftDelete', 'beforeDelete'],
|
|
45
|
+
after: ['afterSoftDelete', 'afterDelete'],
|
|
46
|
+
can: 'canDelete',
|
|
47
|
+
},
|
|
48
|
+
restore: {
|
|
49
|
+
before: ['beforeRestore'],
|
|
50
|
+
after: ['afterRestore'],
|
|
51
|
+
can: 'canRestore',
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
const hasOperationHookResultKeys = (value) => 'itemData' in value ||
|
|
55
|
+
'where' in value ||
|
|
56
|
+
'entity' in value ||
|
|
57
|
+
'result' in value;
|
|
58
|
+
const mergeOperationHookResult = (context, hookResult) => {
|
|
59
|
+
if (!hookResult || typeof hookResult !== 'object') {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const isOperationShape = hasOperationHookResultKeys(hookResult);
|
|
63
|
+
if (hookResult.itemData && context.itemData) {
|
|
64
|
+
Object.assign(context.itemData, hookResult.itemData);
|
|
65
|
+
}
|
|
66
|
+
if (hookResult.where) {
|
|
67
|
+
context.where = context.where || {};
|
|
68
|
+
Object.assign(context.where, hookResult.where);
|
|
69
|
+
}
|
|
70
|
+
if (hookResult.entity && context.entity) {
|
|
71
|
+
Object.assign(context.entity, hookResult.entity);
|
|
72
|
+
}
|
|
73
|
+
if ('result' in hookResult) {
|
|
74
|
+
context.result = hookResult.result;
|
|
75
|
+
}
|
|
76
|
+
if (isOperationShape) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (context.itemData) {
|
|
80
|
+
Object.assign(context.itemData, hookResult);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (context.where) {
|
|
84
|
+
Object.assign(context.where, hookResult);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (context.entity) {
|
|
88
|
+
Object.assign(context.entity, hookResult);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
const createCrudHookContext = (params) => {
|
|
92
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
93
|
+
const meta = new Map();
|
|
94
|
+
return {
|
|
95
|
+
operation: params.operation,
|
|
96
|
+
req: params.req,
|
|
97
|
+
params: (_c = (_a = params.params) !== null && _a !== void 0 ? _a : (_b = params.req) === null || _b === void 0 ? void 0 : _b.params) !== null && _c !== void 0 ? _c : {},
|
|
98
|
+
query: (_f = (_d = params.query) !== null && _d !== void 0 ? _d : (_e = params.req) === null || _e === void 0 ? void 0 : _e.query) !== null && _f !== void 0 ? _f : {},
|
|
99
|
+
id: params.id,
|
|
100
|
+
itemData: params.itemData,
|
|
101
|
+
where: (_g = params.where) !== null && _g !== void 0 ? _g : {},
|
|
102
|
+
entity: params.entity,
|
|
103
|
+
result: params.result,
|
|
104
|
+
service: params.service,
|
|
105
|
+
repository: params.repository,
|
|
106
|
+
setMeta: (key, value) => {
|
|
107
|
+
meta.set(key, value);
|
|
108
|
+
},
|
|
109
|
+
getMeta: (key) => meta.get(key),
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
exports.createCrudHookContext = createCrudHookContext;
|
|
113
|
+
const runOperationHook = async (options, hookName, context) => {
|
|
114
|
+
const hook = options === null || options === void 0 ? void 0 : options[hookName];
|
|
115
|
+
if (!hook) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const hookResult = await hook(context);
|
|
119
|
+
mergeOperationHookResult(context, hookResult);
|
|
120
|
+
};
|
|
121
|
+
const runBeforeOperationHooks = async (options, context) => {
|
|
122
|
+
const hookNames = OPERATION_HOOK_NAMES[context.operation].before;
|
|
123
|
+
for (const hookName of hookNames) {
|
|
124
|
+
await runOperationHook(options, hookName, context);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
exports.runBeforeOperationHooks = runBeforeOperationHooks;
|
|
128
|
+
const runAfterOperationHooks = async (options, context) => {
|
|
129
|
+
const hookNames = OPERATION_HOOK_NAMES[context.operation].after;
|
|
130
|
+
for (const hookName of hookNames) {
|
|
131
|
+
await runOperationHook(options, hookName, context);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
exports.runAfterOperationHooks = runAfterOperationHooks;
|
|
135
|
+
const assertAuthorized = (allowed) => {
|
|
136
|
+
if (allowed === false) {
|
|
137
|
+
throw new common_1.ForbiddenException('crud_operation_forbidden');
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const runOperationAuthorization = async (options, context) => {
|
|
141
|
+
const authorize = options === null || options === void 0 ? void 0 : options.authorize;
|
|
142
|
+
if (authorize) {
|
|
143
|
+
const allowed = await authorize(context);
|
|
144
|
+
assertAuthorized(allowed);
|
|
145
|
+
}
|
|
146
|
+
const canKey = OPERATION_HOOK_NAMES[context.operation].can;
|
|
147
|
+
const canHook = canKey
|
|
148
|
+
? options === null || options === void 0 ? void 0 : options[canKey]
|
|
149
|
+
: undefined;
|
|
150
|
+
if (!canHook) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const allowed = await canHook(context);
|
|
154
|
+
assertAuthorized(allowed);
|
|
155
|
+
};
|
|
156
|
+
exports.runOperationAuthorization = runOperationAuthorization;
|
|
157
|
+
const applyWhereToCollectionQuery = (query, where) => {
|
|
158
|
+
if (!where || typeof where !== 'object') {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const whereEntries = Object.entries(where).filter(([, value]) => value !== undefined);
|
|
162
|
+
if (whereEntries.length === 0) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
query.where = query.where || [];
|
|
166
|
+
query.where.push(whereEntries.map(([column, value]) => ({
|
|
167
|
+
column,
|
|
168
|
+
value,
|
|
169
|
+
operator: collection_query_1.FilterOperators.EqualTo,
|
|
170
|
+
})));
|
|
171
|
+
};
|
|
172
|
+
exports.applyWhereToCollectionQuery = applyWhereToCollectionQuery;
|
|
173
|
+
const runBeforeCreatePipeline = async (params) => {
|
|
174
|
+
const { itemData, req, options, resolver, service, repository } = params;
|
|
175
|
+
await (0, request_context_1.applyCreateContext)({
|
|
176
|
+
itemData,
|
|
177
|
+
req,
|
|
178
|
+
options,
|
|
179
|
+
resolver,
|
|
180
|
+
});
|
|
181
|
+
const context = (0, exports.createCrudHookContext)({
|
|
182
|
+
operation: 'create',
|
|
183
|
+
req,
|
|
184
|
+
itemData,
|
|
185
|
+
service,
|
|
186
|
+
repository,
|
|
187
|
+
});
|
|
188
|
+
await (0, exports.runBeforeOperationHooks)(options, context);
|
|
189
|
+
};
|
|
190
|
+
exports.runBeforeCreatePipeline = runBeforeCreatePipeline;
|
|
20
191
|
const hasAllowedFields = (allowedWriteFields) => Array.isArray(allowedWriteFields) && allowedWriteFields.length > 0;
|
|
21
192
|
const sanitizeWritePayload = (itemData, options) => {
|
|
22
193
|
if (!itemData || typeof itemData !== 'object') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-hooks.helper.js","sourceRoot":"","sources":["../../../src/shared/utils/crud-hooks.helper.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"crud-hooks.helper.js","sourceRoot":"","sources":["../../../src/shared/utils/crud-hooks.helper.ts"],"names":[],"mappings":"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"}
|