From 3f8c3b7c04947ccbf9ae1bc06edc3dcf07f36b7c Mon Sep 17 00:00:00 2001 From: Ying Tang <ytang@godaddy.com> Date: Mon, 6 Apr 2015 19:57:57 -0700 Subject: [PATCH] back out changes of id to URI --- lib/model-helper.js | 12 +++++------- test/model-helper.test.js | 3 +-- test/swagger.test.js | 2 +- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/model-helper.js b/lib/model-helper.js index 9919516..1268941 100644 --- a/lib/model-helper.js +++ b/lib/model-helper.js @@ -31,16 +31,15 @@ var modelHelper = module.exports = { } }; - var convertTypeTo$Ref = function convertTypeTo$Ref(prop, modelUri){ + var convertTypeTo$Ref = function convertTypeTo$Ref(prop){ if (prop.type && TYPES_PRIMITIVE.indexOf(prop.type) === -1 ){ - prop.$ref = modelUri + '/definitions/' + prop.type; + prop.$ref = prop.type; delete prop.type; } }; var def = modelClass.definition; var name = def.name; - var modelUri = 'https://strongloop.com/loopback/' + name + '#'; var out = definitions || {}; if (out[name]) { // The model is already included @@ -82,7 +81,7 @@ var modelHelper = module.exports = { processType(modelClass.app, prop.type, referencedModels); if (prop.items) { processType(modelClass.app, prop.items.type, referencedModels); - convertTypeTo$Ref(prop.items, modelUri); + convertTypeTo$Ref(prop.items); } // Required props sit in a per-model array. @@ -93,7 +92,7 @@ var modelHelper = module.exports = { // Change mismatched keys. prop = translateDataTypeKeys(prop); - convertTypeTo$Ref(prop, modelUri); + convertTypeTo$Ref(prop); delete prop.required; delete prop.id; @@ -122,8 +121,7 @@ var modelHelper = module.exports = { }); out[name] = { - id: modelUri, - $schema: 'http://json-schema.org/draft-04/schema#', + id: name, properties: properties, required: required }; diff --git a/test/model-helper.test.js b/test/model-helper.test.js index 60efbcf..031bc22 100644 --- a/test/model-helper.test.js +++ b/test/model-helper.test.js @@ -15,7 +15,6 @@ describe('model-helper', function() { buf: Buffer // {type: 'string', format: 'byte'} }); var props = def.properties; - console.log(props.str); expect(props.str).to.eql({ type: 'string' }); expect(props.num).to.eql({ type: 'number', format: 'double' }); expect(props.date).eql({ type: 'string', format: 'date' }); @@ -119,7 +118,7 @@ describe('model-helper', function() { address: Address }); var prop = def.properties.address; - expect(prop).to.eql({ $ref: 'https://strongloop.com/loopback/testModel#/definitions/Address' }); + expect(prop).to.eql({ $ref: 'Address' }); }); }); diff --git a/test/swagger.test.js b/test/swagger.test.js index ea13d77..1cd0a5b 100644 --- a/test/swagger.test.js +++ b/test/swagger.test.js @@ -91,7 +91,7 @@ describe('swagger definition', function() { getReq.end(function(err, res) { if (err) return done(err); var data = res.body.models.product; - expect(data.id).to.equal('https://strongloop.com/loopback/product#'); + expect(data.id).to.equal('product'); expect(data.required.sort()).to.eql(['aNum', 'foo'].sort()); expect(data.properties.foo.type).to.equal('string'); expect(data.properties.bar.type).to.equal('string');