Skip to content

Commit

Permalink
Merge pull request simonguest#27 from danieljoppi/master
Browse files Browse the repository at this point in the history
 fix non 'object' references
  • Loading branch information
briananderson1222 authored Oct 12, 2016
2 parents cc862dd + 29d5bd7 commit 220ce1b
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,18 @@ var processRef = function (property, objectName, props, key, required) {
var refRegExp = /^#\/definitions\/(\w*)$/;
var refString = property['$ref'] ? property['$ref'] : property['items']['$ref'];
var propType = refString.match(refRegExp)[1];
// NOT circular reference
if (propType !== objectName) {
// NOT circular reference
props[key] = [getSchema(propType, definitions[propType]['properties'] ? definitions[propType]['properties'] : definitions[propType])];
var object = definitions[propType];
if (~['array', 'object'].indexOf(object.type)) {
var schema = getSchema(propType, object['properties'] ? object['properties'] : object);
props[key] = property['items'] || object.type === 'array' ? [schema] : schema;
} else {
var clone = _.extend({}, object);
delete clone[getMongooseProperty()];
var schemaProp = getSchemaProperty(clone, key)[key];
props[key] = property['items'] ? [schemaProp] : schemaProp;
}
} else {
// circular reference
if (propType) {
Expand All @@ -200,8 +209,6 @@ var processRef = function (property, objectName, props, key, required) {
};

var getSchema = function (objectName, fullObject) {


var props = {};
var required = fullObject.required || [];
var object = fullObject['properties'] ? fullObject['properties'] : fullObject;
Expand Down Expand Up @@ -298,7 +305,7 @@ module.exports.compile = function (spec, _extraDefinitions) {

var schemas = {};
_.forEach(definitions, function (definition, key) {
var object = null;
var object;
var options = xSwaggerMongoose.schemaOptions;
var excludedSchema = xSwaggerMongoose.excludeSchema;
var documentIndex = xSwaggerMongoose.documentIndex[key];
Expand Down

0 comments on commit 220ce1b

Please sign in to comment.