UNPKG

json-api-nestjs

Version:
36 lines 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.zodFieldsQuery = zodFieldsQuery; const nestjs_shared_1 = require("../../../../utils/nestjs-shared"); const zod_1 = require("zod"); const zod_utils_1 = require("../zod-utils"); function getZodRules(fields) { return zod_1.z .enum(fields) .array() .nonempty() .refine((0, zod_utils_1.uniqueArray)(), { message: 'Field should be unique', }) .optional(); } function zodFieldsQuery(fields, relationList) { const target = { target: getZodRules(fields), }; const relation = {}; for (const [key, value] of nestjs_shared_1.ObjectTyped.entries(relationList)) { relation[key] = getZodRules(value); } return zod_1.z .object({ ...target, ...relation, }) .strict('Should be only target of relation') .refine((0, zod_utils_1.nonEmptyObject)(), { message: 'Validation error: Select target or relation fields', }) .nullable(); } //# sourceMappingURL=fields.js.map