UNPKG

json-api-nestjs

Version:
35 lines 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.zodQuery = zodQuery; const nestjs_shared_1 = require("../../../../utils/nestjs-shared"); const zod_1 = require("zod"); const fields_1 = require("./fields"); const filter_1 = require("./filter"); const sort_1 = require("./sort"); const include_1 = require("./include"); const zod_share_1 = require("../zod-share"); function getShape(entityFieldsStructure, entityRelationStructure, propsArray, propsType) { return { [nestjs_shared_1.QueryField.fields]: (0, fields_1.zodFieldsQuery)(entityFieldsStructure.field, entityRelationStructure), [nestjs_shared_1.QueryField.filter]: (0, filter_1.zodFilterQuery)(entityFieldsStructure.field, entityRelationStructure, propsArray, propsType), [nestjs_shared_1.QueryField.include]: (0, include_1.zodIncludeQuery)(entityFieldsStructure.relations), [nestjs_shared_1.QueryField.sort]: (0, sort_1.zodSortQuery)(entityFieldsStructure.field, entityRelationStructure), [nestjs_shared_1.QueryField.page]: (0, zod_share_1.zodPageInputQuery)(), }; } function getZodResultSchema(shape) { return zod_1.z.object(shape).strict(); } function zodQuery(entityFieldsStructure, entityRelationStructure, propsArray, propsType) { const shape = getShape(entityFieldsStructure, entityRelationStructure, propsArray, propsType); return getZodResultSchema(shape); } function zodQueryOne(entityFieldsStructure, entityRelationStructure, propsArray, propsType) { return zod_1.z .object({ [nestjs_shared_1.QueryField.fields]: (0, fields_1.zodFieldsQuery)(entityFieldsStructure.field, entityRelationStructure), [nestjs_shared_1.QueryField.include]: (0, include_1.zodIncludeQuery)(entityFieldsStructure.relations), }) .strict(); } //# sourceMappingURL=index.js.map