UNPKG

objection-swagger

Version:

Originally designed as Swagger definition generator for Objection.js models. Since then scope was extended to also cover Swagger-compatible snippets generation from plain JSON Schema entries as well as set of conversions that are useful for model and sche

34 lines (29 loc) 857 B
const _ = require('lodash'); /** * Transforms Swagger query params into correct JSON Schema * @param {Object} queryModel - Swagger query params model * @returns {Object} JSON Schema object */ function swaggerQueryParamsToSchema(queryModel) { const requiredFields = []; const transformedProperties = {}; _.forOwn(queryModel.items.properties, (value, key) => { if (value.required) { requiredFields.push(key); } transformedProperties[key] = Object.assign({}, value); if (!_.isNil(transformedProperties[key].required)) { delete transformedProperties[key].required; } }); return { title: queryModel.title, description: queryModel.description, additionalProperties: false, required: requiredFields, properties: transformedProperties, }; } module.exports = { swaggerQueryParamsToSchema, };