@klerick/json-api-nestjs 10.0.0-beta.1 → 10.0.0-beta.10
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/CHANGELOG.md +207 -0
- package/README.md +587 -0
- package/package.json +38 -34
- package/src/index.d.ts +6 -6
- package/src/index.js +6 -1
- package/src/index.js.map +1 -1
- package/src/lib/constants/constants.d.ts +4 -0
- package/src/lib/constants/constants.js +12 -1
- package/src/lib/constants/constants.js.map +1 -1
- package/src/lib/constants/reflection.d.ts +2 -0
- package/src/lib/constants/reflection.js +3 -1
- package/src/lib/constants/reflection.js.map +1 -1
- package/src/lib/modules/atomic-operation/atomic-operation.module.js +6 -0
- package/src/lib/modules/atomic-operation/atomic-operation.module.js.map +1 -1
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js +1 -4
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -1
- package/src/lib/modules/atomic-operation/service/execute.service.d.ts +6 -0
- package/src/lib/modules/atomic-operation/service/execute.service.js +46 -2
- package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -1
- package/src/lib/modules/atomic-operation/service/explorer.service.js +1 -1
- package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -1
- package/src/lib/modules/atomic-operation/service/swagger.service.js +2 -2
- package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -1
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +35 -680
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +6 -7
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -1
- package/src/lib/modules/mixin/config/bindings.js +9 -9
- package/src/lib/modules/mixin/config/bindings.js.map +1 -1
- package/src/lib/modules/mixin/decorators/index.d.ts +1 -0
- package/src/lib/modules/mixin/decorators/index.js +1 -0
- package/src/lib/modules/mixin/decorators/index.js.map +1 -1
- package/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.d.ts +48 -0
- package/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.js +83 -0
- package/src/lib/modules/mixin/decorators/json-api-read-only/json-api-read-only.decorator.js.map +1 -0
- package/src/lib/modules/mixin/factory/zod-validate.factory.js +11 -6
- package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -1
- package/src/lib/modules/mixin/helpers/bind-controller.js +10 -3
- package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -1
- package/src/lib/modules/mixin/helpers/create-controller.js +3 -0
- package/src/lib/modules/mixin/helpers/create-controller.js.map +1 -1
- package/src/lib/modules/mixin/helpers/utils.d.ts +2 -0
- package/src/lib/modules/mixin/helpers/utils.js +10 -0
- package/src/lib/modules/mixin/helpers/utils.js.map +1 -1
- package/src/lib/modules/mixin/mixin.module.js +1 -0
- package/src/lib/modules/mixin/mixin.module.js.map +1 -1
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js +1 -4
- package/src/lib/modules/mixin/pipe/patch-input/patch-input.pipe.js.map +1 -1
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js +1 -4
- package/src/lib/modules/mixin/pipe/patch-relationship/patch-relationship.pipe.js.map +1 -1
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js +10 -4
- package/src/lib/modules/mixin/pipe/post-input/post-input.pipe.js.map +1 -1
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js +1 -4
- package/src/lib/modules/mixin/pipe/post-relationship/post-relationship.pipe.js.map +1 -1
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js +2 -4
- package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js.map +1 -1
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js +1 -4
- package/src/lib/modules/mixin/pipe/query-input/query-input.pipe.js.map +1 -1
- package/src/lib/modules/mixin/service/json-api-transformer.service.js +27 -4
- package/src/lib/modules/mixin/service/json-api-transformer.service.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/delete-relationship.js +3 -3
- package/src/lib/modules/mixin/swagger/method/delete-relationship.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/index.d.ts +0 -4
- package/src/lib/modules/mixin/swagger/method/index.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/patch-one.js +6 -3
- package/src/lib/modules/mixin/swagger/method/patch-one.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js +3 -3
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/post-one.js +6 -3
- package/src/lib/modules/mixin/swagger/method/post-one.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/post-relationship.js +3 -3
- package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -1
- package/src/lib/modules/mixin/swagger/utils.d.ts +2 -0
- package/src/lib/modules/mixin/swagger/utils.js +16 -1
- package/src/lib/modules/mixin/swagger/utils.js.map +1 -1
- package/src/lib/modules/mixin/types/decorator-options.type.d.ts +1 -0
- package/src/lib/modules/mixin/types/orm-service.type.d.ts +8 -0
- package/src/lib/modules/mixin/zod/index.d.ts +1 -0
- package/src/lib/modules/mixin/zod/index.js +6 -0
- package/src/lib/modules/mixin/zod/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/map-transform-to-json-shema.d.ts +6 -0
- package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js +27 -0
- package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js.map +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +4 -44
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +2 -3
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +16 -5
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +7 -9
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +4 -50
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +2 -3
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +16 -6
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +7 -13
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.d.ts +13 -27
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +20 -13
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.d.ts +72 -987
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +11 -7
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-query-schema/include.d.ts +1 -1
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.d.ts +73 -4933
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +6 -3
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-query-schema/sort.d.ts +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +3 -3
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +6 -2
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.d.ts +24 -104
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +32 -10
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/include.d.ts +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/include.js +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/include.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/index.d.ts +4 -4
- package/src/lib/modules/mixin/zod/zod-query-schema/index.js +3 -4
- package/src/lib/modules/mixin/zod/zod-query-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +11 -3
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-share/attributes.d.ts +15 -14
- package/src/lib/modules/mixin/zod/zod-share/attributes.js +26 -20
- package/src/lib/modules/mixin/zod/zod-share/attributes.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-share/page.d.ts +3 -9
- package/src/lib/modules/mixin/zod/zod-share/rel-data.d.ts +4 -40
- package/src/lib/modules/mixin/zod/zod-share/rel-data.js +2 -2
- package/src/lib/modules/mixin/zod/zod-share/rel-data.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-share/relationships.d.ts +8 -304
- package/src/lib/modules/mixin/zod/zod-share/relationships.js +1 -1
- package/src/lib/modules/mixin/zod/zod-share/relationships.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-utils.d.ts +2 -1
- package/src/lib/modules/mixin/zod/zod-utils.js +12 -0
- package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -1
- package/src/lib/types/entity-param.type.d.ts +6 -4
- package/src/lib/types/entity-param.type.js +13 -0
- package/src/lib/types/entity-param.type.js.map +1 -1
- package/src/lib/types/error.types.d.ts +3 -3
- package/src/lib/types/index.d.ts +1 -0
- package/src/lib/types/index.js +1 -0
- package/src/lib/types/index.js.map +1 -1
- package/src/lib/types/json-api-read-only.d.ts +51 -0
- package/src/lib/types/json-api-read-only.js +3 -0
- package/src/lib/types/json-api-read-only.js.map +1 -0
- package/src/lib/types/module-options.types.d.ts +5 -1
- package/src/lib/utils/module-helper.js +4 -0
- package/src/lib/utils/module-helper.js.map +1 -1
|
@@ -26,8 +26,7 @@ class QueryFiledInIncludePipe {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
if (fields) {
|
|
29
|
-
const
|
|
30
|
-
const selectRelationFields = json_api_nestjs_shared_1.ObjectTyped.keys(relationFields);
|
|
29
|
+
const selectRelationFields = json_api_nestjs_shared_1.ObjectTyped.keys(fields).filter((key) => key !== 'target');
|
|
31
30
|
const fieldsErrors = selectRelationFields
|
|
32
31
|
.filter((i) => !includeSet.has(i.toString()))
|
|
33
32
|
.map((i) => ({
|
|
@@ -38,8 +37,7 @@ class QueryFiledInIncludePipe {
|
|
|
38
37
|
errors.push(...fieldsErrors);
|
|
39
38
|
}
|
|
40
39
|
if (sort) {
|
|
41
|
-
const
|
|
42
|
-
const selectRelationFields = json_api_nestjs_shared_1.ObjectTyped.keys(relationSorts);
|
|
40
|
+
const selectRelationFields = json_api_nestjs_shared_1.ObjectTyped.keys(sort).filter((key) => key !== 'target');
|
|
43
41
|
const fieldsErrors = selectRelationFields
|
|
44
42
|
.filter((i) => !includeSet.has(i.toString()))
|
|
45
43
|
.map((i) => ({
|
package/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-filed-in-include.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.ts"],"names":[],"mappings":";;;AAAA,2CAAoE;AACpE,4EAA8D;AAK9D,MAAa,uBAAuB;IAGlC,SAAS,CAAC,KAAqB;QAC7B,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAC5B,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,oBAAoB,GAAG,oCAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxD,MAAM,kBAAkB,GAAG,oBAAoB;qBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC5C,GAAG,CAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/B,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,4BAA4B;oBACzD,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC3C,CAAC,CAAC,CAAC;gBAEN,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,
|
|
1
|
+
{"version":3,"file":"query-filed-in-include.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/query-filed-on-include/query-filed-in-include.pipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,12 @@ exports.QueryInputPipe = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
|
-
const zod_validation_error_1 = require("zod-validation-error");
|
|
8
7
|
const constants_1 = require("../../../../constants");
|
|
9
8
|
class QueryInputPipe {
|
|
10
9
|
zodInputQuerySchema;
|
|
11
10
|
transform(value) {
|
|
12
11
|
try {
|
|
13
|
-
return this.zodInputQuerySchema.parse(value
|
|
14
|
-
errorMap: zod_validation_error_1.errorMap,
|
|
15
|
-
});
|
|
12
|
+
return this.zodInputQuerySchema.parse(value);
|
|
16
13
|
}
|
|
17
14
|
catch (e) {
|
|
18
15
|
if (e instanceof zod_1.ZodError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-input.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/query-input/query-input.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAC/B
|
|
1
|
+
{"version":3,"file":"query-input.pipe.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/pipe/query-input/query-input.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,6BAA+B;AAC/B,qDAA+D;AAI/D,MAAa,cAAc;IAIjB,mBAAmB,CAA0B;IAErD,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAjBD,wCAiBC;AAbS;IADP,IAAA,eAAM,EAAC,kCAAsB,CAAC;;2DACsB"}
|
|
@@ -61,7 +61,7 @@ class JsonApiTransformerService {
|
|
|
61
61
|
}
|
|
62
62
|
transformItem(item, mapProps, query) {
|
|
63
63
|
const { fields } = query;
|
|
64
|
-
const targetField = fields &&
|
|
64
|
+
const targetField = fields && 'target' in fields ? fields.target : null;
|
|
65
65
|
assertColumnName(item, mapProps.primaryColumnName);
|
|
66
66
|
const props = json_api_nestjs_shared_1.ObjectTyped.keys(mapProps.propsType).filter((i) => {
|
|
67
67
|
if (i.toString() === mapProps.primaryColumnName.toString()) {
|
|
@@ -96,17 +96,18 @@ class JsonApiTransformerService {
|
|
|
96
96
|
}
|
|
97
97
|
else {
|
|
98
98
|
assertColumnName(item[rel], relationMapPops.primaryColumnName);
|
|
99
|
-
return props
|
|
99
|
+
return (props
|
|
100
100
|
? {
|
|
101
101
|
type: relationMapPops.typeName,
|
|
102
102
|
id: props[relationMapPops.primaryColumnName].toString(),
|
|
103
103
|
}
|
|
104
|
-
: null;
|
|
104
|
+
: null);
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
transformRelationships(item, mapProps, query) {
|
|
108
108
|
const { include } = query;
|
|
109
|
-
const includeMap = new Map((include || [])
|
|
109
|
+
const includeMap = new Map((include || [])
|
|
110
|
+
.map((i) => [i, true]));
|
|
110
111
|
const primaryColumnName = mapProps.primaryColumnName;
|
|
111
112
|
assertColumnName(item, primaryColumnName);
|
|
112
113
|
return json_api_nestjs_shared_1.ObjectTyped.keys(mapProps.relationProperty).reduce((acum, i) => {
|
|
@@ -115,6 +116,28 @@ class JsonApiTransformerService {
|
|
|
115
116
|
self: this.getLink(mapProps.typeName, item[primaryColumnName], 'relationships', i.toString()),
|
|
116
117
|
},
|
|
117
118
|
};
|
|
119
|
+
// Если relation НЕ в include, но есть FK поле — используем его для resource linkage
|
|
120
|
+
if (!includeMap.has(i) && !mapProps.relationProperty[i].isArray) {
|
|
121
|
+
const fkFieldName = mapProps.relationFkField[i];
|
|
122
|
+
if (fkFieldName) {
|
|
123
|
+
const fkValue = item[fkFieldName];
|
|
124
|
+
if (fkValue != null) {
|
|
125
|
+
const relationMapPops = this.entityParamMapService.getParamMap(mapProps.relationProperty[i].entityClass);
|
|
126
|
+
if (relationMapPops) {
|
|
127
|
+
// @ts-expect-error incorrect parse
|
|
128
|
+
acum[i]['data'] = {
|
|
129
|
+
id: String(fkValue),
|
|
130
|
+
type: relationMapPops.typeName,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
// FK поле null → data: null
|
|
136
|
+
// @ts-expect-error incorrect parse
|
|
137
|
+
acum[i]['data'] = null;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
118
141
|
if (includeMap.has(i)) {
|
|
119
142
|
const relationMapPops = this.entityParamMapService.getParamMap(mapProps.relationProperty[i].entityClass);
|
|
120
143
|
if (!relationMapPops)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api-transformer.service.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/service/json-api-transformer.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"json-api-transformer.service.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/service/json-api-transformer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.deleteRelationship = deleteRelationship;
|
|
4
4
|
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
-
const
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
6
|
const types_1 = require("../../../../types");
|
|
7
|
-
const
|
|
7
|
+
const zod_2 = require("../../zod");
|
|
8
8
|
const utils_1 = require("../utils");
|
|
9
9
|
function deleteRelationship(controller, descriptor, entity, mapEntity, methodName) {
|
|
10
10
|
const entityName = entity.name;
|
|
@@ -28,7 +28,7 @@ function deleteRelationship(controller, descriptor, entity, mapEntity, methodNam
|
|
|
28
28
|
})(controller, methodName, descriptor);
|
|
29
29
|
(0, swagger_1.ApiBody)({
|
|
30
30
|
description: `Json api schema for delete "${entityName}" item`,
|
|
31
|
-
schema:
|
|
31
|
+
schema: zod_1.z.toJSONSchema(zod_2.zodPatchRelationship),
|
|
32
32
|
required: true,
|
|
33
33
|
})(controller, methodName, descriptor);
|
|
34
34
|
(0, swagger_1.ApiResponse)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-relationship.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/delete-relationship.ts"],"names":[],"mappings":";;AAeA,gDAgEC;AA/ED,6CAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"delete-relationship.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/delete-relationship.ts"],"names":[],"mappings":";;AAeA,gDAgEC;AA/ED,6CAA+E;AAC/E,6BAAwB;AAIxB,6CAA8C;AAC9C,mCAAiD;AACjD,oCAAuC;AAQvC,SAAgB,kBAAkB,CAIhC,UAAqB,EACrB,UAA8B,EAC9B,MAAsB,EACtB,SAA0C,EAC1C,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAE/B,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvE,IAAA,sBAAY,EAAC;QACX,OAAO,EAAE,yCAAyC,UAAU,GAAG;QAC/D,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;KAC5D,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,iBAAiB,KAAK,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACnE,WAAW,EAAE,mBAAmB,UAAU,GAAG;KAC9C,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAgB;QACtB,WAAW,EAAE,8BAA8B,UAAU,GAAG;KACzD,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,iBAAO,EAAC;QACN,WAAW,EAAE,+BAA+B,UAAU,QAAQ;QAC9D,MAAM,EAAE,OAAC,CAAC,YAAY,CAAC,0BAAoB,CAExB;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,2BAA2B,UAAU,oBAAoB;KACvE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -7,7 +7,6 @@ import { getRelationship } from './get-relationship';
|
|
|
7
7
|
import { deleteRelationship } from './delete-relationship';
|
|
8
8
|
import { postRelationship } from './post-relationship';
|
|
9
9
|
import { patchRelationship } from './patch-relationship';
|
|
10
|
-
import { OrmService } from '../../types';
|
|
11
10
|
export declare const swaggerMethod: {
|
|
12
11
|
readonly getAll: typeof getAll;
|
|
13
12
|
readonly getOne: typeof getOne;
|
|
@@ -19,6 +18,3 @@ export declare const swaggerMethod: {
|
|
|
19
18
|
readonly postRelationship: typeof postRelationship;
|
|
20
19
|
readonly patchRelationship: typeof patchRelationship;
|
|
21
20
|
};
|
|
22
|
-
export type SwaggerMethod<E extends object> = {
|
|
23
|
-
[Key in keyof OrmService<E>]?: (typeof swaggerMethod)[Key];
|
|
24
|
-
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,uCAAmC;AACnC,6CAAyC;AACzC,yCAAqC;AACrC,2CAAuC;AACvC,yDAAqD;AACrD,+DAA2D;AAC3D,2DAAuD;AACvD,6DAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,uCAAmC;AACnC,6CAAyC;AACzC,yCAAqC;AACrC,2CAAuC;AACvC,yDAAqD;AACrD,+DAA2D;AAC3D,2DAAuD;AACvD,6DAAyD;AAE5C,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAN,gBAAM;IACN,MAAM,EAAN,gBAAM;IACN,SAAS,EAAT,sBAAS;IACT,OAAO,EAAP,kBAAO;IACP,QAAQ,EAAR,oBAAQ;IACR,eAAe,EAAf,kCAAe;IACf,kBAAkB,EAAlB,wCAAkB;IAClB,gBAAgB,EAAhB,oCAAgB;IAChB,iBAAiB,EAAjB,sCAAiB;CACT,CAAC"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.patchOne = patchOne;
|
|
4
|
+
const zod_1 = require("zod");
|
|
4
5
|
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
-
const zod_openapi_1 = require("@anatine/zod-openapi");
|
|
6
6
|
const types_1 = require("../../../../types");
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
|
-
const
|
|
8
|
+
const zod_2 = require("../../zod");
|
|
9
|
+
const decorators_1 = require("../../decorators");
|
|
9
10
|
function patchOne(controller, descriptor, entity, mapEntity, methodName) {
|
|
10
11
|
const entityName = entity.name;
|
|
11
12
|
const primaryColumnType = mapEntity.entityParaMap.primaryColumnType;
|
|
13
|
+
const readOnlyProps = (0, decorators_1.getJsonApiReadOnlyFields)(entity);
|
|
14
|
+
const immutableProps = (0, decorators_1.getJsonApiImmutableFields)(entity);
|
|
12
15
|
(0, swagger_1.ApiOperation)({
|
|
13
16
|
summary: `Update item of resource "${entityName}"`,
|
|
14
17
|
operationId: `${controller.constructor.name}_${methodName}`,
|
|
@@ -21,7 +24,7 @@ function patchOne(controller, descriptor, entity, mapEntity, methodName) {
|
|
|
21
24
|
})(controller, methodName, descriptor);
|
|
22
25
|
(0, swagger_1.ApiBody)({
|
|
23
26
|
description: `Json api schema for update "${entityName}" item`,
|
|
24
|
-
schema:
|
|
27
|
+
schema: zod_1.z.toJSONSchema((0, zod_2.zodPatch)(mapEntity, readOnlyProps, immutableProps), utils_1.zodToJSONSchemaParams),
|
|
25
28
|
required: true,
|
|
26
29
|
})(controller, methodName, descriptor);
|
|
27
30
|
(0, swagger_1.ApiResponse)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-one.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/patch-one.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"patch-one.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/patch-one.ts"],"names":[],"mappings":";;AA2BA,4BAuDC;AAjFD,6BAAwB;AAKxB,6CAA+E;AAG/E,6CAI2B;AAE3B,oCAIkB;AAClB,mCAAqC;AAErC,iDAG0B;AAE1B,SAAgB,QAAQ,CACtB,UAAqB,EACrB,UAA8B,EAC9B,MAAsB,EACtB,SAA0C,EAC1C,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAE/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC;IACpE,MAAM,aAAa,GAAG,IAAA,qCAAwB,EAC5C,MAAM,CAC4B,CAAC;IACrC,MAAM,cAAc,GAAG,IAAA,sCAAyB,EAC9C,MAAM,CAC6B,CAAC;IAEtC,IAAA,sBAAY,EAAC;QACX,OAAO,EAAE,4BAA4B,UAAU,GAAG;QAClD,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;KAC5D,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,iBAAiB,KAAK,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACnE,WAAW,EAAE,mBAAmB,UAAU,GAAG;KAC9C,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,iBAAO,EAAC;QACN,WAAW,EAAE,+BAA+B,UAAU,QAAQ;QAC9D,MAAM,EAAE,OAAC,CAAC,YAAY,CACpB,IAAA,cAAQ,EAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,EAClD,6BAAqB,CACY;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qBAAqB,UAAU,oBAAoB;QAChE,MAAM,EAAE,IAAA,0BAAkB,EAAC,MAAM,EAAE,SAAS,CAAC;KAC9C,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,uBAAuB;QACpC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.patchRelationship = patchRelationship;
|
|
4
4
|
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
-
const
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
6
|
const types_1 = require("../../../../types");
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
|
-
const
|
|
8
|
+
const zod_2 = require("../../zod");
|
|
9
9
|
function patchRelationship(controller, descriptor, entity, mapEntity, methodName) {
|
|
10
10
|
const entityName = entity.name;
|
|
11
11
|
const { relations, primaryColumnType } = mapEntity.getParamMap(entity);
|
|
@@ -28,7 +28,7 @@ function patchRelationship(controller, descriptor, entity, mapEntity, methodName
|
|
|
28
28
|
})(controller.prototype, methodName, descriptor);
|
|
29
29
|
(0, swagger_1.ApiBody)({
|
|
30
30
|
description: `Json api schema for update "${entityName}" item`,
|
|
31
|
-
schema:
|
|
31
|
+
schema: zod_1.z.toJSONSchema(zod_2.zodPatchRelationship),
|
|
32
32
|
required: true,
|
|
33
33
|
})(controller.prototype, methodName, descriptor);
|
|
34
34
|
(0, swagger_1.ApiResponse)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch-relationship.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/patch-relationship.ts"],"names":[],"mappings":";;AAcA,8CAiEC;AA/ED,6CAA+E;AAK/E,
|
|
1
|
+
{"version":3,"file":"patch-relationship.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/patch-relationship.ts"],"names":[],"mappings":";;AAcA,8CAiEC;AA/ED,6CAA+E;AAK/E,6BAAwB;AAIxB,6CAA8C;AAC9C,oCAA8D;AAC9D,mCAAiD;AAGjD,SAAgB,iBAAiB,CAI/B,UAAqB,EACrB,UAA8B,EAC9B,MAAsB,EACtB,SAA0C,EAC1C,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAE/B,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvE,IAAA,sBAAY,EAAC;QACX,OAAO,EAAE,yCAAyC,UAAU,GAAG;QAC/D,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;KAC5D,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,iBAAiB,KAAK,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACnE,WAAW,EAAE,mBAAmB,UAAU,GAAG;KAC9C,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAgB;QACtB,WAAW,EAAE,8BAA8B,UAAU,GAAG;KACzD,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAA,iBAAO,EAAC;QACN,WAAW,EAAE,+BAA+B,UAAU,QAAQ;QAC9D,MAAM,EAAE,OAAC,CAAC,YAAY,CAAC,0BAAoB,CAExB;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,6BAAqB;QAC7B,WAAW,EAAE,2BAA2B,UAAU,oBAAoB;KACvE,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.postOne = postOne;
|
|
4
4
|
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
-
const
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
|
-
const
|
|
7
|
+
const zod_2 = require("../../zod");
|
|
8
|
+
const decorators_1 = require("../../decorators");
|
|
8
9
|
function postOne(controller, descriptor, entity, mapEntity, methodName) {
|
|
9
10
|
const entityName = entity.name;
|
|
11
|
+
const readOnlyProps = (0, decorators_1.getJsonApiReadOnlyFields)(entity);
|
|
12
|
+
const immutableProps = (0, decorators_1.getJsonApiImmutableFields)(entity);
|
|
10
13
|
(0, swagger_1.ApiOperation)({
|
|
11
14
|
summary: `Create item of resource "${entityName}"`,
|
|
12
15
|
operationId: `${controller.constructor.name}_${methodName}`,
|
|
13
16
|
})(controller, methodName, descriptor);
|
|
14
17
|
(0, swagger_1.ApiBody)({
|
|
15
18
|
description: `Json api schema for new "${entityName}" item`,
|
|
16
|
-
schema:
|
|
19
|
+
schema: zod_1.z.toJSONSchema((0, zod_2.zodPost)(mapEntity, readOnlyProps, immutableProps), utils_1.zodToJSONSchemaParams),
|
|
17
20
|
required: true,
|
|
18
21
|
})(controller, methodName, descriptor);
|
|
19
22
|
(0, swagger_1.ApiResponse)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-one.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/post-one.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"post-one.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/post-one.ts"],"names":[],"mappings":";;AAmBA,0BA+CC;AAlED,6CAAqE;AACrE,6BAAwB;AAQxB,oCAIkB;AAClB,mCAAoC;AAEpC,iDAAuF;AAGvF,SAAgB,OAAO,CACrB,UAAqB,EACrB,UAA8B,EAC9B,MAAsB,EACtB,SAA0C,EAC1C,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAE/B,MAAM,aAAa,GAAG,IAAA,qCAAwB,EAC5C,MAAM,CAC4B,CAAC;IACrC,MAAM,cAAc,GAAG,IAAA,sCAAyB,EAC9C,MAAM,CAC6B,CAAC;IAEtC,IAAA,sBAAY,EAAC;QACX,OAAO,EAAE,4BAA4B,UAAU,GAAG;QAClD,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;KAC5D,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,iBAAO,EAAC;QACN,WAAW,EAAE,4BAA4B,UAAU,QAAQ;QAC3D,MAAM,EAAE,OAAC,CAAC,YAAY,CACpB,IAAA,aAAO,EAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,EACjD,6BAAqB,CACY;QACnC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qBAAqB,UAAU,oBAAoB;QAChE,MAAM,EAAE,IAAA,0BAAkB,EAAC,MAAM,EAAE,SAAS,CAAC;KAC9C,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,uBAAuB;QACpC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.postRelationship = postRelationship;
|
|
4
|
-
const
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
5
|
const swagger_1 = require("@nestjs/swagger");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
|
-
const
|
|
7
|
+
const zod_2 = require("../../zod");
|
|
8
8
|
const types_1 = require("../../../../types");
|
|
9
9
|
function postRelationship(controller, descriptor, entity, mapEntity, methodName) {
|
|
10
10
|
const entityName = entity.name;
|
|
@@ -24,7 +24,7 @@ function postRelationship(controller, descriptor, entity, mapEntity, methodName)
|
|
|
24
24
|
})(controller, methodName, descriptor);
|
|
25
25
|
(0, swagger_1.ApiBody)({
|
|
26
26
|
description: `Json api schema for update "${entityName}" item`,
|
|
27
|
-
schema:
|
|
27
|
+
schema: zod_1.z.toJSONSchema(zod_2.zodPatchRelationship),
|
|
28
28
|
required: true,
|
|
29
29
|
})(controller, methodName, descriptor);
|
|
30
30
|
(0, swagger_1.ApiOperation)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-relationship.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/post-relationship.ts"],"names":[],"mappings":";;AAcA,4CA8DC;AA3ED,
|
|
1
|
+
{"version":3,"file":"post-relationship.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/method/post-relationship.ts"],"names":[],"mappings":";;AAcA,4CA8DC;AA3ED,6BAAwB;AAKxB,6CAA+E;AAG/E,oCAA8D;AAC9D,mCAAiD;AACjD,6CAA8C;AAG9C,SAAgB,gBAAgB,CAC9B,UAAqB,EACrB,UAA8B,EAC9B,MAAsB,EACtB,SAA0C,EAC1C,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAE/B,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvE,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,iBAAiB,KAAK,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACnE,WAAW,EAAE,mBAAmB,UAAU,GAAG;KAC9C,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,kBAAQ,EAAC;QACP,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAgB;QACtB,WAAW,EAAE,8BAA8B,UAAU,GAAG;KACzD,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,iBAAO,EAAC;QACN,WAAW,EAAE,+BAA+B,UAAU,QAAQ;QAC9D,MAAM,EAAE,OAAC,CAAC,YAAY,CAAC,0BAAoB,CAExB;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,sBAAY,EAAC;QACX,OAAO,EAAE,yCAAyC,UAAU,GAAG;QAC/D,WAAW,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;KAC5D,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,6BAAqB;QAC7B,WAAW,EAAE,2BAA2B,UAAU,oBAAoB;KACvE,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,sBAAsB;QACnC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEvC,IAAA,qBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,mBAAW;KACpB,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { AnyEntity, EntityClass, PropertyKeys } from '@klerick/json-api-nestjs-s
|
|
|
3
3
|
import { EntityParam } from '../../../types';
|
|
4
4
|
import { EntityParamMap } from '../types';
|
|
5
5
|
import { EntityParamMapService } from '../service';
|
|
6
|
+
import { toJSONSchema } from 'zod';
|
|
6
7
|
export declare function assertIsKeysOfObject<E extends object>(object: EntityClass<E>, element: any): asserts element is readonly [keyof E];
|
|
7
8
|
export declare function assertIsKeyOfObject<E extends object>(object: EntityClass<E>, element: unknown): asserts element is PropertyKeys<E>;
|
|
8
9
|
export declare const errorSchema: {
|
|
@@ -194,3 +195,4 @@ export declare const schemaTypeForRelation: {
|
|
|
194
195
|
};
|
|
195
196
|
};
|
|
196
197
|
export declare function getEntityMapProps<E extends object>(mapEntity: EntityParamMap<EntityClass<AnyEntity>>, entity: EntityClass<E>): EntityParam<EntityClass<object>>;
|
|
198
|
+
export declare const zodToJSONSchemaParams: Parameters<typeof toJSONSchema>[1];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.schemaTypeForRelation = exports.errorSchema = void 0;
|
|
3
|
+
exports.zodToJSONSchemaParams = exports.schemaTypeForRelation = exports.errorSchema = void 0;
|
|
4
4
|
exports.assertIsKeysOfObject = assertIsKeysOfObject;
|
|
5
5
|
exports.assertIsKeyOfObject = assertIsKeyOfObject;
|
|
6
6
|
exports.jsonSchemaResponse = jsonSchemaResponse;
|
|
@@ -10,6 +10,7 @@ const swagger_1 = require("@nestjs/swagger");
|
|
|
10
10
|
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
11
11
|
const change_case_commonjs_1 = require("change-case-commonjs");
|
|
12
12
|
const types_1 = require("../../../types");
|
|
13
|
+
const zod_1 = require("../zod");
|
|
13
14
|
function assertIsKeysOfObject(object, element) {
|
|
14
15
|
if (!Array.isArray(element)) {
|
|
15
16
|
throw new Error(element + ' is not keys of ' + object.name);
|
|
@@ -302,4 +303,18 @@ function getEntityMapProps(mapEntity, entity) {
|
|
|
302
303
|
throw new Error('Entity not found in map');
|
|
303
304
|
return entityMap;
|
|
304
305
|
}
|
|
306
|
+
exports.zodToJSONSchemaParams = {
|
|
307
|
+
unrepresentable: 'any',
|
|
308
|
+
override(ctx) {
|
|
309
|
+
const def = ctx.zodSchema._zod.def;
|
|
310
|
+
if (!def || !def?.type)
|
|
311
|
+
return;
|
|
312
|
+
if (def.type === 'transform') {
|
|
313
|
+
const shema = zod_1.mapTransformFunctionToJsonShema.get(def.transform.name);
|
|
314
|
+
if (!shema)
|
|
315
|
+
return;
|
|
316
|
+
Object.assign(ctx.jsonSchema, shema);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
};
|
|
305
320
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/swagger/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { PrepareParams } from '../../../types';
|
|
|
3
3
|
type ControllerOptions = {
|
|
4
4
|
allowMethod: Array<MethodName>;
|
|
5
5
|
overrideRoute: string;
|
|
6
|
+
allowSetId: boolean;
|
|
6
7
|
};
|
|
7
8
|
export type DecoratorOptions<OrmParams = NonNullable<unknown>> = Partial<ControllerOptions & Omit<PrepareParams<OrmParams>['options'], 'operationUrl'>>;
|
|
8
9
|
export type EntityControllerParam<OrmParams = NonNullable<unknown>> = PrepareParams<OrmParams>['options'] & DecoratorOptions;
|
|
@@ -2,7 +2,12 @@ import { ResourceObject, ResourceObjectRelationships, RelationKeys } from '@kler
|
|
|
2
2
|
import { PatchData, PatchRelationshipData, PostData, PostRelationshipData, Query, QueryOne } from '../zod';
|
|
3
3
|
export interface OrmService<E extends object, IdKey extends string = 'id'> {
|
|
4
4
|
getAll(query: Query<E, IdKey>): Promise<ResourceObject<E, 'array', null, IdKey>>;
|
|
5
|
+
getAll(query: Query<E, IdKey>, transformData?: boolean, additionalQueryParams?: Record<string, unknown>): Promise<ResourceObject<E, 'array', null, IdKey> | {
|
|
6
|
+
totalItems: number;
|
|
7
|
+
items: E[];
|
|
8
|
+
}>;
|
|
5
9
|
getOne(id: number | string, query: QueryOne<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
10
|
+
getOne(id: number | string, query: QueryOne<E, IdKey>, transformData?: boolean, additionalQueryParams?: Record<string, unknown>): Promise<ResourceObject<E, 'object', null, IdKey> | E>;
|
|
6
11
|
deleteOne(id: number | string): Promise<void>;
|
|
7
12
|
patchOne(id: number | string, inputData: PatchData<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
8
13
|
postOne(inputData: PostData<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
@@ -10,4 +15,7 @@ export interface OrmService<E extends object, IdKey extends string = 'id'> {
|
|
|
10
15
|
postRelationship<Rel extends RelationKeys<E, IdKey>>(id: number | string, rel: Rel, input: PostRelationshipData): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
11
16
|
deleteRelationship<Rel extends RelationKeys<E, IdKey>>(id: number | string, rel: Rel, input: PostRelationshipData): Promise<void>;
|
|
12
17
|
patchRelationship<Rel extends RelationKeys<E, IdKey>>(id: number | string, rel: Rel, input: PatchRelationshipData): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
18
|
+
loadRelations(relationships: PatchData<E, IdKey>['relationships'] | PostData<E, IdKey>['relationships']): Promise<{
|
|
19
|
+
[K in RelationKeys<E>]: E[K];
|
|
20
|
+
}>;
|
|
13
21
|
}
|
|
@@ -4,4 +4,5 @@ export * from './zod-input-post-schema';
|
|
|
4
4
|
export * from './zod-input-patch-schema';
|
|
5
5
|
export * from './zod-input-post-relationship-schema';
|
|
6
6
|
export * from './zod-input-patch-relationship-schema';
|
|
7
|
+
export * from './map-transform-to-json-shema';
|
|
7
8
|
export { Relationships, Data, Attributes, Id, Type } from './zod-share';
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
const zod_validation_error_1 = require("zod-validation-error");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
zod_1.z.config({
|
|
7
|
+
customError: (0, zod_validation_error_1.createErrorMap)(),
|
|
8
|
+
});
|
|
4
9
|
tslib_1.__exportStar(require("./zod-input-query-schema"), exports);
|
|
5
10
|
tslib_1.__exportStar(require("./zod-query-schema"), exports);
|
|
6
11
|
tslib_1.__exportStar(require("./zod-input-post-schema"), exports);
|
|
7
12
|
tslib_1.__exportStar(require("./zod-input-patch-schema"), exports);
|
|
8
13
|
tslib_1.__exportStar(require("./zod-input-post-relationship-schema"), exports);
|
|
9
14
|
tslib_1.__exportStar(require("./zod-input-patch-relationship-schema"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./map-transform-to-json-shema"), exports);
|
|
10
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC;AACzC,6DAAmC;AACnC,kEAAwC;AACxC,mEAAyC;AACzC,+EAAqD;AACrD,gFAAsD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/index.ts"],"names":[],"mappings":";;;AAAA,+DAAsD;AACtD,6BAAwB;AAExB,OAAC,CAAC,MAAM,CAAC;IACP,WAAW,EAAE,IAAA,qCAAc,GAAE;CAC9B,CAAC,CAAC;AAEH,mEAAyC;AACzC,6DAAmC;AACnC,kEAAwC;AACxC,mEAAyC;AACzC,+EAAqD;AACrD,gFAAsD;AACtD,wEAA6C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { JSONSchema } from 'zod/v4/core';
|
|
2
|
+
type DateStringTransform<Null extends true | false, isPatch extends true | false> = isPatch extends true ? Null extends true ? Date | null | undefined : Date | undefined : Null extends true ? Date | null | undefined : Date;
|
|
3
|
+
export declare function transformDateString<Null extends true | false, isPatch extends true | false>(i: string | null | undefined): DateStringTransform<Null, isPatch>;
|
|
4
|
+
export declare function transformStringToArray(input: string | undefined): string[] | undefined;
|
|
5
|
+
declare const mapTransformFunctionToJsonShema: Map<string, JSONSchema.JSONSchema>;
|
|
6
|
+
export { mapTransformFunctionToJsonShema };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapTransformFunctionToJsonShema = void 0;
|
|
4
|
+
exports.transformDateString = transformDateString;
|
|
5
|
+
exports.transformStringToArray = transformStringToArray;
|
|
6
|
+
function transformDateString(i) {
|
|
7
|
+
if (i === null || i === undefined) {
|
|
8
|
+
return i;
|
|
9
|
+
}
|
|
10
|
+
return new Date(i);
|
|
11
|
+
}
|
|
12
|
+
function transformStringToArray(input) {
|
|
13
|
+
return input ? input.split(',') : undefined;
|
|
14
|
+
}
|
|
15
|
+
const mapTransformFunctionToJsonShema = new Map([
|
|
16
|
+
[
|
|
17
|
+
transformDateString.name,
|
|
18
|
+
{
|
|
19
|
+
type: 'string',
|
|
20
|
+
format: 'date-time',
|
|
21
|
+
examples: [new Date().toISOString()],
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
[transformStringToArray.name, { type: 'array', items: { type: 'string' } }],
|
|
25
|
+
]);
|
|
26
|
+
exports.mapTransformFunctionToJsonShema = mapTransformFunctionToJsonShema;
|
|
27
|
+
//# sourceMappingURL=map-transform-to-json-shema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-transform-to-json-shema.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/map-transform-to-json-shema.ts"],"names":[],"mappings":";;;AAWA,kDASC;AAED,wDAEC;AAbD,SAAgB,mBAAmB,CAGjC,CAA4B;IAE5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAuC,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;AACpB,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAyB;IAC9D,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAgC;IAC7E;QACE,mBAAmB,CAAC,IAAI;QACxB;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SACrC;KACF;IACD,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;CAC5E,CAAC,CAAC;AAEM,0EAA+B"}
|