diff --git a/lib/swagger/resources.js b/lib/swagger/resources.js index 15893fbc..63e533ab 100644 --- a/lib/swagger/resources.js +++ b/lib/swagger/resources.js @@ -68,6 +68,15 @@ swaggerPaths._getResourceDefinition = resourceConfig => { swaggerScheme.type = 'string' swaggerScheme.format = 'date' } + if (swaggerScheme.type === 'array') { + const items = joiScheme._inner.items; + swaggerScheme.items = {type: 'object'}; + if (items.length > 0 && items[0]._inner.children) { + items[0]._inner.children.forEach(x => { + swaggerScheme.items.properties = {...swaggerScheme.items.properties, [x.key]: {type: x.schema._type} }; + }); + } + } attributeShortcut[attribute] = swaggerScheme if ((joiScheme._flags || { }).presence === 'required') {