@klerick/json-api-nestjs 10.0.0-beta.14 → 10.0.0-beta.16
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 +25 -0
- package/README.md +37 -0
- package/package.json +2 -2
- 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 +1 -1
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +5 -5
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -1
- package/src/lib/modules/mixin/swagger/error-response-model.d.ts +0 -38
- package/src/lib/modules/mixin/swagger/error-response-model.js +1 -63
- package/src/lib/modules/mixin/swagger/error-response-model.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/get-all.js +7 -38
- package/src/lib/modules/mixin/swagger/method/get-all.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/get-one.js +2 -3
- package/src/lib/modules/mixin/swagger/method/get-one.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/get-relationship.js +1 -1
- package/src/lib/modules/mixin/swagger/method/get-relationship.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/patch-one.js +2 -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 -4
- package/src/lib/modules/mixin/swagger/method/patch-relationship.js.map +1 -1
- package/src/lib/modules/mixin/swagger/method/post-one.js +2 -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 -4
- package/src/lib/modules/mixin/swagger/method/post-relationship.js.map +1 -1
- package/src/lib/modules/mixin/swagger/swagger-bind.service.js +2 -1
- package/src/lib/modules/mixin/swagger/swagger-bind.service.js.map +1 -1
- package/src/lib/modules/mixin/swagger/utils.d.ts +16 -102
- package/src/lib/modules/mixin/swagger/utils.js +177 -86
- package/src/lib/modules/mixin/swagger/utils.js.map +1 -1
- package/src/lib/modules/mixin/zod/map-transform-to-json-shema.d.ts +2 -0
- package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js +10 -0
- package/src/lib/modules/mixin/zod/map-transform-to-json-shema.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +7 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +8 -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-query-schema/fields.d.ts +5 -2
- package/src/lib/modules/mixin/zod/zod-input-query-schema/fields.js +16 -12
- 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 +74 -4
- package/src/lib/modules/mixin/zod/zod-input-query-schema/filter.js +32 -12
- 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/index.d.ts +32 -7
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js +3 -1
- package/src/lib/modules/mixin/zod/zod-input-query-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.d.ts +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/fields.js +5 -4
- 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 +2 -0
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js +3 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/filter.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.d.ts +1 -1
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js +5 -4
- package/src/lib/modules/mixin/zod/zod-query-schema/sort.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-utils.d.ts +1 -0
- package/src/lib/modules/mixin/zod/zod-utils.js +8 -0
- package/src/lib/modules/mixin/zod/zod-utils.js.map +1 -1
|
@@ -5,7 +5,7 @@ declare function getZodSortRule(): z.ZodOptional<z.ZodEnum<{
|
|
|
5
5
|
DESC: "DESC";
|
|
6
6
|
ASC: "ASC";
|
|
7
7
|
}>>;
|
|
8
|
-
declare function getZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>>(fields: PropsList, zodSchema: ZodSortRule): z.ZodOptional<z.ZodObject<{ [K in PropsList[number] & PropertyKey]: z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
declare function getZodFieldRule<E extends object, IdKey extends string, PropsList extends ShapeArrayInput<E, IdKey>>(fields: PropsList, zodSchema: ZodSortRule, idKey: IdKey): z.ZodOptional<z.ZodObject<{ [K in (IdKey | PropsList[number]) & PropertyKey]: z.ZodOptional<z.ZodEnum<{
|
|
9
9
|
DESC: "DESC";
|
|
10
10
|
ASC: "ASC";
|
|
11
11
|
}>>; } extends infer T ? { -readonly [P in keyof T]: T[P]; } : never, z.core.$strict>>;
|
|
@@ -8,21 +8,22 @@ const zod_utils_1 = require("../zod-utils");
|
|
|
8
8
|
function getZodSortRule() {
|
|
9
9
|
return zod_1.z.enum(constants_1.SORT_TYPE).optional();
|
|
10
10
|
}
|
|
11
|
-
function getZodFieldRule(fields, zodSchema) {
|
|
11
|
+
function getZodFieldRule(fields, zodSchema, idKey) {
|
|
12
12
|
const targetShape = fields.reduce((acum, item) => ({
|
|
13
13
|
...acum,
|
|
14
14
|
[item]: zodSchema,
|
|
15
|
-
}), {});
|
|
15
|
+
}), { [idKey]: zodSchema });
|
|
16
16
|
return zod_1.z.object(targetShape).strict().refine((0, zod_utils_1.nonEmptyObject)()).optional();
|
|
17
17
|
}
|
|
18
18
|
function zodSortObject(entityParamMapService) {
|
|
19
19
|
const zodSortRule = getZodSortRule();
|
|
20
20
|
const relationList = (0, zod_utils_1.getRelationProps)(entityParamMapService);
|
|
21
|
+
const relationListPrimaryName = (0, zod_utils_1.getRelationPrimaryName)(entityParamMapService);
|
|
21
22
|
const sortShape = json_api_nestjs_shared_1.ObjectTyped.entries(relationList).reduce((acum, [key, val]) => ({
|
|
22
23
|
...acum,
|
|
23
|
-
[key]: getZodFieldRule(val, zodSortRule),
|
|
24
|
+
[key]: getZodFieldRule(val, zodSortRule, relationListPrimaryName[key]),
|
|
24
25
|
}), {
|
|
25
|
-
target: getZodFieldRule(entityParamMapService.entityParaMap.props, zodSortRule),
|
|
26
|
+
target: getZodFieldRule(entityParamMapService.entityParaMap.props, zodSortRule, entityParamMapService.entityParaMap.primaryColumnName),
|
|
26
27
|
});
|
|
27
28
|
return zod_1.z.strictObject(sortShape);
|
|
28
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/sort.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-query-schema/sort.ts"],"names":[],"mappings":";;AAuFA,oCAOC;AA9FD,4EAA8D;AAC9D,6BAAmC;AAGnC,qDAAkD;AAClD,4CAIsB;AAGtB,SAAS,cAAc;IACrB,OAAO,OAAC,CAAC,IAAI,CAAC,qBAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAItB,MAAiB,EAAE,SAAsB,EAAE,KAAY;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,IAAI;QACP,CAAC,IAAmB,CAAC,EAAE,SAAS;KACjC,CAAC,EACF,EAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAsE,CAC1F,CAAC;IAEF,OAAO,OAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5E,CAAC;AA8BD,SAAS,aAAa,CACpB,qBAAsD;IAEtD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,IAAA,kCAAsB,EAAC,qBAAqB,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,oCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACxD,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,GAAG,IAAI;QACP,CAAC,GAAkB,CAAC,EAAE,eAAe,CACnC,GAAG,EACH,WAAW,EACX,uBAAuB,CAAC,GAAG,CAAC,CAC7B;KACF,CAAC,EACF;QACE,MAAM,EAAE,eAAe,CACrB,qBAAqB,CAAC,aAAa,CAAC,KAAK,EACzC,WAAW,EACX,qBAAqB,CAAC,aAAa,CAAC,iBAAiB,CACtD;KACwB,CAC5B,CAAC;IACF,OAAO,OAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,YAAY,CAC1B,qBAAsD;IAEtD,OAAO,aAAa,CAAC,qBAAqB,CAAC;SACxC,OAAO,EAAE;SACT,MAAM,CAAC,IAAA,0BAAc,GAAE,CAAC;SACxB,QAAQ,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -12,5 +12,6 @@ export declare const stringMustBe: (type?: TypeField) => (inputString: string |
|
|
|
12
12
|
export declare const elementOfArrayMustBe: (type?: TypeField) => (inputArray: unknown[]) => boolean;
|
|
13
13
|
export declare function guardIsKeyOfObject<R>(object: R, key: string | number | symbol): asserts key is keyof R;
|
|
14
14
|
export declare function getRelationProps<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): EntityRelationProps<E, IdKey>;
|
|
15
|
+
export declare function getRelationPrimaryName<E extends object, IdKey extends string>(entityParamMapService: EntityParamMapService<E, IdKey>): { [K in keyof EntityRelationProps<E, IdKey>]: IdKey; };
|
|
15
16
|
export declare function setOptionalOrNot<Schema extends ZodType, Null extends true | false, isPatch extends true | false>(schema: Schema, isNullable: Null, isPatch: isPatch): ResultSchema<Schema, Null, isPatch>;
|
|
16
17
|
export declare function memoize<T extends (...args: any[]) => any>(fn: T): T;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.elementOfArrayMustBe = exports.stringMustBe = exports.arrayItemStringLongerThan = exports.stringLongerThan = exports.oneOf = exports.getValidationErrorForStrict = exports.uniqueArray = exports.nonEmptyObject = void 0;
|
|
4
4
|
exports.guardIsKeyOfObject = guardIsKeyOfObject;
|
|
5
5
|
exports.getRelationProps = getRelationProps;
|
|
6
|
+
exports.getRelationPrimaryName = getRelationPrimaryName;
|
|
6
7
|
exports.setOptionalOrNot = setOptionalOrNot;
|
|
7
8
|
exports.memoize = memoize;
|
|
8
9
|
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
@@ -62,6 +63,13 @@ function getRelationProps(entityParamMapService) {
|
|
|
62
63
|
return acum;
|
|
63
64
|
}, {});
|
|
64
65
|
}
|
|
66
|
+
function getRelationPrimaryName(entityParamMapService) {
|
|
67
|
+
return json_api_nestjs_shared_1.ObjectTyped.entries(entityParamMapService.entityParaMap.relationProperty).reduce((acum, [name, value]) => {
|
|
68
|
+
const relMap = entityParamMapService.getParamMap(value.entityClass);
|
|
69
|
+
Reflect.set(acum, name, relMap.primaryColumnName);
|
|
70
|
+
return acum;
|
|
71
|
+
}, {});
|
|
72
|
+
}
|
|
65
73
|
function setOptionalOrNot(schema, isNullable, isPatch) {
|
|
66
74
|
if (isPatch) {
|
|
67
75
|
return (isNullable ? schema.nullable() : schema).optional();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-utils.ts"],"names":[],"mappings":";;;AAkEA,gDAQC;AAED,4CAUC;AAED,4CAsBC;AAED,0BASC;
|
|
1
|
+
{"version":3,"file":"zod-utils.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/mixin/zod/zod-utils.ts"],"names":[],"mappings":";;;AAkEA,gDAQC;AAED,4CAUC;AAED,wDAkBC;AAED,4CAsBC;AAED,0BASC;AA7ID,4EAA4E;AAI5E,0CAA+F;AAIxF,MAAM,cAAc,GACzB,GAAG,EAAE,CACH,CAAI,MAAS,EAAE,EAAE,CACf,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAHpE,QAAA,cAAc,kBAGsD;AAE1E,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC;AAAlE,QAAA,WAAW,eAAuD;AAExE,MAAM,2BAA2B,GAAG,CACzC,KAAe,EACf,IAAyB,EACzB,EAAE,CACF,qBAAqB,IAAI,iCAAiC,KAAK,CAAC,IAAI,CAClE,KAAK,CACN,IAAI,CAAC;AANK,QAAA,2BAA2B,+BAMhC;AAED,MAAM,KAAK,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC,GAAQ,EAAE,EAAE;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AANW,QAAA,KAAK,SAMhB;AAEK,MAAM,gBAAgB,GAC3B,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CACb,CAAC,GAAW,EAAE,EAAE,CACd,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AAHb,QAAA,gBAAgB,oBAGH;AAEnB,MAAM,yBAAyB,GACpC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CACb,CAAC,KAA2B,EAAE,EAAE;IAC9B,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AALO,QAAA,yBAAyB,6BAKhC;AAEC,MAAM,YAAY,GACvB,CAAC,OAAkB,iBAAS,CAAC,MAAM,EAAE,EAAE,CACrC,CAAC,WAA0B,EAAE,EAAE;IAC7B,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAS,CAAC,OAAO;YACpB,OAAO,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,CAAC;QAC3D,KAAK,iBAAS,CAAC,MAAM;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9B,KAAK,iBAAS,CAAC,IAAI;YACjB,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,cAAc,CAAC;QAC7D;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAdO,QAAA,YAAY,gBAcnB;AAEC,MAAM,oBAAoB,GAC/B,CAAC,OAAkB,iBAAS,CAAC,MAAM,EAAE,EAAE,CACrC,CAAC,UAAqB,EAAE,EAAE;IACxB,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AALO,QAAA,oBAAoB,wBAK3B;AAEN,SAAgB,kBAAkB,CAChC,MAAS,EACT,GAA6B;IAE7B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM;QAChE,OAAO,KAAK,CAAC,CAAC;IAEhB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACtC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,qBAAsD;IAEtD,OAAO,oCAAW,CAAC,OAAO,CACxB,qBAAqB,CAAC,aAAa,CAAC,gBAAgB,CACrD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,WAAkB,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAmC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,sBAAsB,CACpC,qBAAsD;IAGtD,OAAO,oCAAW,CAAC,OAAO,CACxB,qBAAqB,CAAC,aAAa,CAAC,gBAAgB,CACrD,CAAC,MAAM,CACN,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAC9C,KAAK,CAAC,WAAkB,CACzB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,EAEC,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAK9B,MAAc,EACd,UAAgB,EAChB,OAAgB;IAEhB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAIxD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAIzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,OAAO,CAAoC,EAAK;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAiB,EAAE;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B;QACtD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAM,CAAC;AACV,CAAC"}
|