diff --git a/samples/server/petstore/nodejs-petstore-mixed/.swagger-codegen/VERSION b/samples/server/petstore/nodejs-petstore-mixed/.swagger-codegen/VERSION index aa9a8d010c6..8bbd1907183 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/.swagger-codegen/VERSION +++ b/samples/server/petstore/nodejs-petstore-mixed/.swagger-codegen/VERSION @@ -1 +1 @@ -3.0.21-SNAPSHOT \ No newline at end of file +3.0.24-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/nodejs-petstore-mixed/api/openapi.yaml b/samples/server/petstore/nodejs-petstore-mixed/api/openapi.yaml index bdb07804131..02e31b7dbeb 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/api/openapi.yaml +++ b/samples/server/petstore/nodejs-petstore-mixed/api/openapi.yaml @@ -105,11 +105,11 @@ paths: type: array items: type: string - default: available enum: - available - pending - sold + default: available responses: "200": description: successful operation @@ -713,10 +713,10 @@ paths: type: array items: type: string - default: $ enum: - '>' - $ + default: $ - name: enum_header_string in: header description: Header parameter enum test (string) @@ -725,11 +725,11 @@ paths: explode: false schema: type: string - default: -efg enum: - _abc - -efg - (xyz) + default: -efg - name: enum_query_string_array in: query description: Query parameter enum test (string array) @@ -740,10 +740,10 @@ paths: type: array items: type: string - default: $ enum: - '>' - $ + default: $ - name: enum_query_string in: query description: Query parameter enum test (string) @@ -752,11 +752,11 @@ paths: explode: true schema: type: string - default: -efg enum: - _abc - -efg - (xyz) + default: -efg - name: enum_query_integer in: query description: Query parameter enum test (double) @@ -1378,6 +1378,15 @@ components: category: test-category-name xml: name: Category + UserWrapper: + type: object + properties: + users: + $ref: '#/components/schemas/Users' + Users: + type: array + items: + $ref: '#/components/schemas/User' User: type: object properties: @@ -1508,11 +1517,11 @@ components: name: Name EnumClass: type: string - default: -efg enum: - _abc - -efg - (xyz) + default: -efg List: type: object properties: @@ -2243,18 +2252,18 @@ components: description: Form parameter enum test (string array) items: type: string - default: $ enum: - '>' - $ + default: $ enum_form_string: type: string description: Form parameter enum test (string) - default: -efg enum: - _abc - -efg - (xyz) + default: -efg enum_query_double: type: number description: Query parameter enum test (double) diff --git a/samples/server/petstore/nodejs-petstore-mixed/controllers/Animal.js b/samples/server/petstore/nodejs-petstore-mixed/controllers/Animal.js index d8180e84219..b13b7b3fc92 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/controllers/Animal.js +++ b/samples/server/petstore/nodejs-petstore-mixed/controllers/Animal.js @@ -43,8 +43,8 @@ module.exports.updateAnimal = function updateAnimal (req, res, next, body) { }); }; -module.exports.updateAnimalWithForm = function updateAnimalWithForm (req, res, next, name, status, animalId) { - Animal.updateAnimalWithForm(name, status, animalId) +module.exports.updateAnimalWithForm = function updateAnimalWithForm (req, res, next, animalId) { + Animal.updateAnimalWithForm(animalId) .then(function (response) { utils.writeJson(res, response); }) diff --git a/samples/server/petstore/nodejs-petstore-mixed/controllers/Dog.js b/samples/server/petstore/nodejs-petstore-mixed/controllers/Dog.js index 46b1b806268..80baef55723 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/controllers/Dog.js +++ b/samples/server/petstore/nodejs-petstore-mixed/controllers/Dog.js @@ -43,8 +43,8 @@ module.exports.updateDog = function updateDog (req, res, next, body) { }); }; -module.exports.updateDogWithForm = function updateDogWithForm (req, res, next, name, status, dogId) { - Dog.updateDogWithForm(name, status, dogId) +module.exports.updateDogWithForm = function updateDogWithForm (req, res, next, dogId) { + Dog.updateDogWithForm(dogId) .then(function (response) { utils.writeJson(res, response); }) diff --git a/samples/server/petstore/nodejs-petstore-mixed/controllers/Pet.js b/samples/server/petstore/nodejs-petstore-mixed/controllers/Pet.js index 2904143460a..bc4d6c51f38 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/controllers/Pet.js +++ b/samples/server/petstore/nodejs-petstore-mixed/controllers/Pet.js @@ -93,8 +93,8 @@ module.exports.updatePet = function updatePet (req, res, next, body) { }); }; -module.exports.updatePetWithForm = function updatePetWithForm (req, res, next, name, status, petId) { - Pet.updatePetWithForm(name, status, petId) +module.exports.updatePetWithForm = function updatePetWithForm (req, res, next, petId) { + Pet.updatePetWithForm(petId) .then(function (response) { utils.writeJson(res, response); }) @@ -103,8 +103,8 @@ module.exports.updatePetWithForm = function updatePetWithForm (req, res, next, n }); }; -module.exports.uploadFile = function uploadFile (req, res, next, additionalMetadata, file, petId) { - Pet.uploadFile(additionalMetadata, file, petId) +module.exports.uploadFile = function uploadFile (req, res, next, petId) { + Pet.uploadFile(petId) .then(function (response) { utils.writeJson(res, response); }) diff --git a/samples/server/petstore/nodejs-petstore-mixed/index.js b/samples/server/petstore/nodejs-petstore-mixed/index.js index ecb8ba1597a..623c3645dcb 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/index.js +++ b/samples/server/petstore/nodejs-petstore-mixed/index.js @@ -8,11 +8,12 @@ var serverPort = 8080; // swaggerRouter configuration var options = { - controllers: path.join(__dirname, './controllers') + routing: { + controllers: path.join(__dirname, './controllers') + }, }; var expressAppConfig = oas3Tools.expressAppConfig(path.join(__dirname, 'api/openapi.yaml'), options); -expressAppConfig.addValidator(); var app = expressAppConfig.getApp(); // Initialize the Swagger middleware diff --git a/samples/server/petstore/nodejs-petstore-mixed/package-lock.json b/samples/server/petstore/nodejs-petstore-mixed/package-lock.json index d10f623bbe9..4afd22747b8 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/package-lock.json +++ b/samples/server/petstore/nodejs-petstore-mixed/package-lock.json @@ -5,19 +5,19 @@ "requires": true, "dependencies": { "@apidevtools/json-schema-ref-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-8.0.0.tgz", - "integrity": "sha512-n4YBtwQhdpLto1BaUCyAeflizmIbaloGShsPyRtFf5qdFJxfssj+GgLavczgKJFa3Bq+3St2CKcpRJdjtB4EBw==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz", + "integrity": "sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==", "requires": { - "@jsdevtools/ono": "^7.1.0", + "@jsdevtools/ono": "^7.1.3", "call-me-maybe": "^1.0.1", "js-yaml": "^3.13.1" } }, "@jsdevtools/ono": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.2.tgz", - "integrity": "sha512-qS/a24RA5FEoiJS9wiv6Pwg2c/kiUo3IVUQcfeM9JvsR6pM8Yx+yl/6xWYLckZCT5jpLNhslgjiA8p/XcGyMRQ==" + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" }, "accepts": { "version": "1.3.7", @@ -29,9 +29,9 @@ } }, "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -73,15 +73,6 @@ "safe-buffer": "5.1.2" } }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -218,16 +209,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "deasync": { - "version": "0.1.20", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.20.tgz", - "integrity": "sha512-E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ==", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "node-addon-api": "^1.7.1" - } - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -330,22 +311,22 @@ } }, "express-openapi-validator": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/express-openapi-validator/-/express-openapi-validator-3.14.1.tgz", - "integrity": "sha512-iVaB30hvGch3Ml7/5xSQuX2uGXOx+wkBSOeKtxcD5v0lwm9Zco7jHwRTH8C4lEWizXicVtj7L1PuugROzLWoSw==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/express-openapi-validator/-/express-openapi-validator-4.4.3.tgz", + "integrity": "sha512-2qasKPBgwvYZ/iOeesTgan5hy72t9KT9hEmLTW72lMlcHvID5uIIjd2DA47fHa4s2MW94H5mOy8R0rV2r70seQ==", "requires": { - "ajv": "^6.12.2", + "ajv": "^6.12.6", "content-type": "^1.0.4", - "deasync": "^0.1.19", "js-yaml": "^3.14.0", - "json-schema-ref-parser": "^8.0.0", + "json-schema-ref-parser": "^9.0.6", + "lodash.clonedeep": "^4.5.0", "lodash.merge": "^4.6.2", "lodash.uniq": "^4.5.0", "lodash.zipobject": "^4.1.3", "media-typer": "^1.1.0", "multer": "^1.4.2", - "ono": "^7.1.2", - "path-to-regexp": "^6.1.0" + "ono": "^7.1.3", + "path-to-regexp": "^6.2.0" }, "dependencies": { "media-typer": { @@ -354,28 +335,22 @@ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==" }, "path-to-regexp": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.1.0.tgz", - "integrity": "sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", + "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==" } } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, "finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", @@ -445,11 +420,11 @@ } }, "json-schema-ref-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-8.0.0.tgz", - "integrity": "sha512-2P4icmNkZLrBr6oa5gSZaDSol/oaBHYkoP/8dsw63E54NnHGRhhiFuy9yFoxPuSm+uHKmeGxAAWMDF16SCHhcQ==", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz", + "integrity": "sha512-z0JGv7rRD3CnJbZY/qCpscyArdtLJhr/wRBmFUdoZ8xMjsFyNdILSprG2degqRLjBjyhZHAEBpGOxniO9rKTxA==", "requires": { - "@apidevtools/json-schema-ref-parser": "8.0.0" + "@apidevtools/json-schema-ref-parser": "9.0.6" } }, "json-schema-traverse": { @@ -458,9 +433,14 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.merge": { "version": "4.6.2", @@ -567,23 +547,17 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, - "node-addon-api": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz", - "integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ==", - "optional": true - }, "oas3-tools": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/oas3-tools/-/oas3-tools-2.0.2.tgz", - "integrity": "sha512-IlxaalCXMMhGUFr9OHP3vDTvgFsbY4lDNddpOU6FHl2egEL6DfVNqDurl80x/Ll1VXBbPjoOmUcOlcJwsmn62w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/oas3-tools/-/oas3-tools-2.2.0.tgz", + "integrity": "sha512-t+a1384fNIlDnAC+4HK+tq778CC5VG9CEm6kegGQfAfTRXuhETX78NpCKPxPg/UqL4ITNHBi8MPsQskhZ6DtMw==", "requires": { "async": "^2.6.3", "body-parser": "1.19.0", "cookie-parser": "^1.4.4", "debug": "^4.1.1", "express": "^4.17.1", - "express-openapi-validator": "^3.6.7", + "express-openapi-validator": "^4.4.3", "js-yaml": "^3.13.1", "lodash": "^4.17.15", "morgan": "^1.9.1", @@ -595,11 +569,11 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -628,11 +602,11 @@ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, "ono": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/ono/-/ono-7.1.2.tgz", - "integrity": "sha512-es7Gfr+OGNFwiYpyHCLgBF+p/RA0qYbWysQKlZbLvvUBis5BygEs8TVJ4r+SgHDfagOgONhaAl6Y4JLy++0MTw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ==", "requires": { - "@jsdevtools/ono": "7.1.2" + "@jsdevtools/ono": "7.1.3" } }, "parseurl": { @@ -794,9 +768,9 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "requires": { "punycode": "^2.1.0" } diff --git a/samples/server/petstore/nodejs-petstore-mixed/package.json b/samples/server/petstore/nodejs-petstore-mixed/package.json index fb4699aee8f..6ddd4c1e37e 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/package.json +++ b/samples/server/petstore/nodejs-petstore-mixed/package.json @@ -15,6 +15,6 @@ "dependencies": { "connect": "^3.2.0", "js-yaml": "^3.3.0", - "oas3-tools": "^2.0.2" + "oas3-tools": "^2.2.0" } } diff --git a/samples/server/petstore/nodejs-petstore-mixed/service/AnimalService.js b/samples/server/petstore/nodejs-petstore-mixed/service/AnimalService.js index 15d3e5d9d90..a1a274cc60b 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/service/AnimalService.js +++ b/samples/server/petstore/nodejs-petstore-mixed/service/AnimalService.js @@ -67,12 +67,10 @@ exports.updateAnimal = function(body) { /** * Updates a animal * - * name String (optional) - * status String (optional) * animalId Long ID of animal that needs to be updated * no response value expected for this operation **/ -exports.updateAnimalWithForm = function(name,status,animalId) { +exports.updateAnimalWithForm = function(animalId) { return new Promise(function(resolve, reject) { resolve(); }); diff --git a/samples/server/petstore/nodejs-petstore-mixed/service/DogService.js b/samples/server/petstore/nodejs-petstore-mixed/service/DogService.js index 3a2046e7e18..d18e6e3144c 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/service/DogService.js +++ b/samples/server/petstore/nodejs-petstore-mixed/service/DogService.js @@ -64,12 +64,10 @@ exports.updateDog = function(body) { /** * Updates a dog * - * name String (optional) - * status String (optional) * dogId Long ID of dog that needs to be updated * no response value expected for this operation **/ -exports.updateDogWithForm = function(name,status,dogId) { +exports.updateDogWithForm = function(dogId) { return new Promise(function(resolve, reject) { resolve(); }); diff --git a/samples/server/petstore/nodejs-petstore-mixed/service/PetService.js b/samples/server/petstore/nodejs-petstore-mixed/service/PetService.js index acd29456aed..ec63bc773ef 100644 --- a/samples/server/petstore/nodejs-petstore-mixed/service/PetService.js +++ b/samples/server/petstore/nodejs-petstore-mixed/service/PetService.js @@ -242,12 +242,10 @@ exports.updatePet = function(body) { /** * Updates a pet in the store with form data * - * name String (optional) - * status String (optional) * petId Long ID of pet that needs to be updated * no response value expected for this operation **/ -exports.updatePetWithForm = function(name,status,petId) { +exports.updatePetWithForm = function(petId) { return new Promise(function(resolve, reject) { resolve(); }); @@ -257,12 +255,10 @@ exports.updatePetWithForm = function(name,status,petId) { /** * uploads an image * - * additionalMetadata String (optional) - * file byte[] (optional) * petId Long ID of pet to update * returns ApiResponse **/ -exports.uploadFile = function(additionalMetadata,file,petId) { +exports.uploadFile = function(petId) { return new Promise(function(resolve, reject) { var examples = {}; examples['application/json'] = { diff --git a/samples/server/petstore/nodejs/.swagger-codegen/VERSION b/samples/server/petstore/nodejs/.swagger-codegen/VERSION index d7d7c41be29..8bbd1907183 100644 --- a/samples/server/petstore/nodejs/.swagger-codegen/VERSION +++ b/samples/server/petstore/nodejs/.swagger-codegen/VERSION @@ -1 +1 @@ -3.0.19-SNAPSHOT \ No newline at end of file +3.0.24-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/nodejs/api/swagger.yaml b/samples/server/petstore/nodejs/api/swagger.yaml deleted file mode 100644 index 38f36676b0b..00000000000 --- a/samples/server/petstore/nodejs/api/swagger.yaml +++ /dev/null @@ -1,1658 +0,0 @@ -openapi: 3.0.1 -info: - title: Swagger Petstore - description: 'This spec is mainly for testing Petstore server and contains fake - endpoints, models. Please do not use this for any other purpose. Special characters: - " \' - termsOfService: http://swagger.io/terms/ - contact: - email: apiteam@swagger.io - license: - name: Apache-2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: 1.0.0 -externalDocs: - description: Find out more about Swagger - url: http://swagger.io -servers: -- url: http://petstore.swagger.io:80/v2 -tags: -- name: pet - description: Everything about your Pets - externalDocs: - description: Find out more - url: http://swagger.io -- name: store - description: Access to Petstore orders -- name: user - description: Operations about user - externalDocs: - description: Find out more about our store - url: http://swagger.io -paths: - /pet: - put: - tags: - - pet - summary: Update an existing pet - operationId: updatePet - requestBody: - description: Pet object that needs to be added to the store - content: - application/json: - schema: - $ref: '#/components/schemas/Pet' - application/xml: - schema: - $ref: '#/components/schemas/Pet' - required: true - responses: - 400: - description: Invalid ID supplied - content: {} - 404: - description: Pet not found - content: {} - 405: - description: Validation exception - content: {} - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - post: - tags: - - pet - summary: Add a new pet to the store - operationId: addPet - requestBody: - description: Pet object that needs to be added to the store - content: - application/json: - schema: - $ref: '#/components/schemas/Pet' - application/xml: - schema: - $ref: '#/components/schemas/Pet' - required: true - responses: - 405: - description: Invalid input - content: {} - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - /pet/findByStatus: - get: - tags: - - pet - summary: Finds Pets by status - description: Multiple status values can be provided with comma separated strings - operationId: findPetsByStatus - parameters: - - name: status - in: query - description: Status values that need to be considered for filter - required: true - style: form - explode: false - schema: - type: array - items: - type: string - default: available - enum: - - available - - pending - - sold - responses: - 200: - description: successful operation - content: - application/xml: - schema: - type: array - items: - $ref: '#/components/schemas/Pet' - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Pet' - 400: - description: Invalid status value - content: {} - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - /pet/findByTags: - get: - tags: - - pet - summary: Finds Pets by tags - description: Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. - operationId: findPetsByTags - parameters: - - name: tags - in: query - description: Tags to filter by - required: true - style: form - explode: false - schema: - type: array - items: - type: string - responses: - 200: - description: successful operation - content: - application/xml: - schema: - type: array - items: - $ref: '#/components/schemas/Pet' - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Pet' - 400: - description: Invalid tag value - content: {} - deprecated: true - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - /pet/{petId}: - get: - tags: - - pet - summary: Find pet by ID - description: Returns a single pet - operationId: getPetById - parameters: - - name: petId - in: path - description: ID of pet to return - required: true - style: simple - explode: false - schema: - type: integer - format: int64 - responses: - 200: - description: successful operation - content: - application/xml: - schema: - $ref: '#/components/schemas/Pet' - application/json: - schema: - $ref: '#/components/schemas/Pet' - 400: - description: Invalid ID supplied - content: {} - 404: - description: Pet not found - content: {} - security: - - api_key: [] - x-swagger-router-controller: Pet - post: - tags: - - pet - summary: Updates a pet in the store with form data - operationId: updatePetWithForm - parameters: - - name: petId - in: path - description: ID of pet that needs to be updated - required: true - style: simple - explode: false - schema: - type: integer - format: int64 - requestBody: - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/body' - responses: - 405: - description: Invalid input - content: {} - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - delete: - tags: - - pet - summary: Deletes a pet - operationId: deletePet - parameters: - - name: api_key - in: header - required: false - style: simple - explode: false - schema: - type: string - - name: petId - in: path - description: Pet id to delete - required: true - style: simple - explode: false - schema: - type: integer - format: int64 - responses: - 400: - description: Invalid pet value - content: {} - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - /pet/{petId}/uploadImage: - post: - tags: - - pet - summary: uploads an image - operationId: uploadFile - parameters: - - name: petId - in: path - description: ID of pet to update - required: true - style: simple - explode: false - schema: - type: integer - format: int64 - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/body_1' - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ApiResponse' - security: - - petstore_auth: - - write:pets - - read:pets - x-swagger-router-controller: Pet - /store/inventory: - get: - tags: - - store - summary: Returns pet inventories by status - description: Returns a map of status codes to quantities - operationId: getInventory - responses: - 200: - description: successful operation - content: - application/json: - schema: - type: object - additionalProperties: - type: integer - format: int32 - security: - - api_key: [] - x-swagger-router-controller: Store - /store/order: - post: - tags: - - store - summary: Place an order for a pet - operationId: placeOrder - requestBody: - description: order placed for purchasing the pet - content: - '*/*': - schema: - $ref: '#/components/schemas/Order' - required: true - responses: - 200: - description: successful operation - content: - application/xml: - schema: - $ref: '#/components/schemas/Order' - application/json: - schema: - $ref: '#/components/schemas/Order' - 400: - description: Invalid Order - content: {} - x-swagger-router-controller: Store - /store/order/{order_id}: - get: - tags: - - store - summary: Find purchase order by ID - description: For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions - operationId: getOrderById - parameters: - - name: order_id - in: path - description: ID of pet that needs to be fetched - required: true - style: simple - explode: false - schema: - maximum: 5 - minimum: 1 - type: integer - format: int64 - responses: - 200: - description: successful operation - content: - application/xml: - schema: - $ref: '#/components/schemas/Order' - application/json: - schema: - $ref: '#/components/schemas/Order' - 400: - description: Invalid ID supplied - content: {} - 404: - description: Order not found - content: {} - x-swagger-router-controller: Store - delete: - tags: - - store - summary: Delete purchase order by ID - description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors - operationId: deleteOrder - parameters: - - name: order_id - in: path - description: ID of the order that needs to be deleted - required: true - style: simple - explode: false - schema: - type: string - responses: - 400: - description: Invalid ID supplied - content: {} - 404: - description: Order not found - content: {} - x-swagger-router-controller: Store - /user: - post: - tags: - - user - summary: Create user - description: This can only be done by the logged in user. - operationId: createUser - requestBody: - description: Created user object - content: - '*/*': - schema: - $ref: '#/components/schemas/User' - required: true - responses: - default: - description: successful operation - content: {} - x-swagger-router-controller: User - /user/createWithArray: - post: - tags: - - user - summary: Creates list of users with given input array - operationId: createUsersWithArrayInput - requestBody: - description: List of user object - content: - '*/*': - schema: - type: array - items: - $ref: '#/components/schemas/User' - required: true - responses: - default: - description: successful operation - content: {} - x-swagger-router-controller: User - /user/createWithList: - post: - tags: - - user - summary: Creates list of users with given input array - operationId: createUsersWithListInput - requestBody: - description: List of user object - content: - '*/*': - schema: - type: array - items: - $ref: '#/components/schemas/User' - required: true - responses: - default: - description: successful operation - content: {} - x-swagger-router-controller: User - /user/login: - get: - tags: - - user - summary: Logs user into the system - operationId: loginUser - parameters: - - name: username - in: query - description: The user name for login - required: true - style: form - explode: true - schema: - type: string - - name: password - in: query - description: The password for login in clear text - required: true - style: form - explode: true - schema: - type: string - responses: - 200: - description: successful operation - headers: - X-Rate-Limit: - description: calls per hour allowed by the user - style: simple - explode: false - schema: - type: integer - format: int32 - X-Expires-After: - description: date in UTC when toekn expires - style: simple - explode: false - schema: - type: string - format: date-time - content: - application/xml: - schema: - type: string - application/json: - schema: - type: string - 400: - description: Invalid username/password supplied - content: {} - x-swagger-router-controller: User - /user/logout: - get: - tags: - - user - summary: Logs out current logged in user session - operationId: logoutUser - responses: - default: - description: successful operation - content: {} - x-swagger-router-controller: User - /user/{username}: - get: - tags: - - user - summary: Get user by user name - operationId: getUserByName - parameters: - - name: username - in: path - description: 'The name that needs to be fetched. Use user1 for testing. ' - required: true - style: simple - explode: false - schema: - type: string - responses: - 200: - description: successful operation - content: - application/xml: - schema: - $ref: '#/components/schemas/User' - application/json: - schema: - $ref: '#/components/schemas/User' - 400: - description: Invalid username supplied - content: {} - 404: - description: User not found - content: {} - x-swagger-router-controller: User - put: - tags: - - user - summary: Updated user - description: This can only be done by the logged in user. - operationId: updateUser - parameters: - - name: username - in: path - description: name that need to be deleted - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Updated user object - content: - '*/*': - schema: - $ref: '#/components/schemas/User' - required: true - responses: - 400: - description: Invalid user supplied - content: {} - 404: - description: User not found - content: {} - x-swagger-router-controller: User - delete: - tags: - - user - summary: Delete user - description: This can only be done by the logged in user. - operationId: deleteUser - parameters: - - name: username - in: path - description: The name that needs to be deleted - required: true - style: simple - explode: false - schema: - type: string - responses: - 400: - description: Invalid username supplied - content: {} - 404: - description: User not found - content: {} - x-swagger-router-controller: User - /fake_classname_test: - patch: - tags: - - fake_classname_tags 123#$%^ - summary: To test class name in snake case - operationId: testClassname - requestBody: - description: client model - content: - application/json: - schema: - $ref: '#/components/schemas/Client' - required: true - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Client' - security: - - api_key_query: [] - x-swagger-router-controller: FakeClassnameTags123 - /fake: - get: - tags: - - fake - summary: To test enum parameters - description: To test enum parameters - operationId: testEnumParameters - parameters: - - name: enum_header_string_array - in: header - description: Header parameter enum test (string array) - required: false - style: simple - explode: false - schema: - type: array - items: - type: string - default: $ - enum: - - '>' - - $ - - name: enum_header_string - in: header - description: Header parameter enum test (string) - required: false - style: simple - explode: false - schema: - type: string - default: -efg - enum: - - _abc - - -efg - - (xyz) - - name: enum_query_string_array - in: query - description: Query parameter enum test (string array) - required: false - style: form - explode: false - schema: - type: array - items: - type: string - default: $ - enum: - - '>' - - $ - - name: enum_query_string - in: query - description: Query parameter enum test (string) - required: false - style: form - explode: true - schema: - type: string - default: -efg - enum: - - _abc - - -efg - - (xyz) - - name: enum_query_integer - in: query - description: Query parameter enum test (double) - required: false - style: form - explode: true - schema: - type: integer - format: int32 - enum: - - 1 - - -2 - responses: - 400: - description: Invalid request - content: {} - 404: - description: Not found - content: {} - x-swagger-router-controller: Fake - post: - tags: - - fake - summary: | - Fake endpoint for testing various parameters - 假端點 - 偽のエンドポイント - 가짜 엔드 포인트 - description: | - Fake endpoint for testing various parameters - 假端點 - 偽のエンドポイント - 가짜 엔드 포인트 - operationId: testEndpointParameters - requestBody: - content: - application/xml; charset=utf-8: - schema: - $ref: '#/components/schemas/body_2' - application/json; charset=utf-8: - schema: - $ref: '#/components/schemas/body_3' - required: true - responses: - 400: - description: Invalid username supplied - content: {} - 404: - description: User not found - content: {} - security: - - http_basic_test: [] - x-swagger-router-controller: Fake - patch: - tags: - - fake - summary: To test "client" model - description: To test "client" model - operationId: testClientModel - requestBody: - description: client model - content: - application/json: - schema: - $ref: '#/components/schemas/Client' - required: true - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Client' - x-swagger-router-controller: Fake - /fake/enum/form: - post: - tags: - - fake - summary: To test enum parameters - description: To test enum parameters - operationId: testEnumRequestBody - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/body_4' - responses: - 400: - description: Invalid request - content: {} - 404: - description: Not found - content: {} - x-swagger-router-controller: Fake - /fake/outer/number: - post: - tags: - - fake - description: Test serialization of outer number types - operationId: fakeOuterNumberSerialize - requestBody: - description: Input number as post body - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterNumber' - required: false - responses: - 200: - description: Output number - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterNumber' - x-swagger-router-controller: Fake - /fake/outer/string: - post: - tags: - - fake - description: Test serialization of outer string types - operationId: fakeOuterStringSerialize - requestBody: - description: Input string as post body - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterString' - required: false - responses: - 200: - description: Output string - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterString' - x-swagger-router-controller: Fake - /fake/outer/boolean: - post: - tags: - - fake - description: Test serialization of outer boolean types - operationId: fakeOuterBooleanSerialize - requestBody: - description: Input boolean as post body - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterBoolean' - required: false - responses: - 200: - description: Output boolean - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterBoolean' - x-swagger-router-controller: Fake - /fake/outer/composite: - post: - tags: - - fake - description: Test serialization of object with outer number type - operationId: fakeOuterCompositeSerialize - requestBody: - description: Input composite as post body - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterComposite' - required: false - responses: - 200: - description: Output composite - content: - '*/*': - schema: - $ref: '#/components/schemas/OuterComposite' - x-swagger-router-controller: Fake - /fake/jsonFormData: - post: - tags: - - fake - summary: test json serialization of form data - operationId: testJsonFormData - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/body_5' - required: true - responses: - 200: - description: successful operation - content: {} - x-swagger-router-controller: Fake - /fake/inline-additionalProperties: - post: - tags: - - fake - summary: test inline additionalProperties - operationId: testInlineAdditionalProperties - requestBody: - description: request body - content: - application/json: - schema: - type: object - additionalProperties: - type: string - required: true - responses: - 200: - description: successful operation - content: {} - x-swagger-router-controller: Fake - /another-fake/dummy: - patch: - tags: - - $another-fake? - summary: To test special tags - description: To test special tags - operationId: test_special_tags - requestBody: - description: client model - content: - application/json: - schema: - $ref: '#/components/schemas/Client' - required: true - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Client' - x-swagger-router-controller: AnotherFake -components: - schemas: - Category: - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: - id: 0 - category: test-category-name - xml: - name: Category - User: - type: object - properties: - id: - type: integer - format: int64 - x-is-unique: true - username: - type: string - firstName: - type: string - lastName: - type: string - email: - type: string - password: - type: string - phone: - type: string - userStatus: - type: integer - description: User Status - format: int32 - example: - id: 0 - username: hugomario - firstName: hugo - lastName: mercado - email: hugo.mercado.aws@gmail.com - password: '*****' - phone: 000-00000000 - userStatus: 1 - xml: - name: User - OuterNumber: - type: number - ArrayOfNumberOnly: - type: object - properties: - ArrayNumber: - type: array - items: - type: number - example: - id: 0 - ArrayNumber: - - 0 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - Capitalization: - type: object - properties: - smallCamel: - type: string - CapitalCamel: - type: string - small_Snake: - type: string - Capital_Snake: - type: string - SCA_ETH_Flow_Points: - type: string - ATT_NAME: - type: string - description: | - Name of the pet - example: - smallCamel: testProperty - CapitalCamel: TestProperty - small_Snake: test_property - Capital_Snake: Test_Property - MixedPropertiesAndAdditionalPropertiesClass: - type: object - properties: - uuid: - type: string - format: uuid - dateTime: - type: string - format: date-time - map: - type: object - additionalProperties: - $ref: '#/components/schemas/Animal' - example: - uuid: bbe4001e-f700-11e8-8eb2-f2801f1b9fd1 - dateTime: 2018-11-05 09:25 - ApiResponse: - type: object - properties: - code: - type: integer - format: int32 - type: - type: string - message: - type: string - Name: - required: - - name - type: object - properties: - name: - type: integer - format: int32 - snake_case: - type: integer - format: int32 - readOnly: true - property: - type: string - 123Number: - type: integer - readOnly: true - description: Model for testing model name same as property name - xml: - name: Name - EnumClass: - type: string - default: -efg - enum: - - _abc - - -efg - - (xyz) - List: - type: object - properties: - 123-list: - type: string - NumberOnly: - type: object - properties: - JustNumber: - type: number - 200_response: - type: object - properties: - name: - type: integer - format: int32 - class: - type: string - description: Model for testing model name starting with number - xml: - name: Name - Client: - type: object - properties: - client: - type: string - Dog: - allOf: - - $ref: '#/components/schemas/Animal' - - type: object - properties: - breed: - type: string - Enum_Test: - type: object - properties: - enum_string: - type: string - enum: - - UPPER - - lower - - "" - enum_integer: - type: integer - format: int32 - enum: - - 1 - - -1 - enum_number: - type: number - format: double - enum: - - 1.1 - - -1.2 - outerEnum: - $ref: '#/components/schemas/OuterEnum' - Order: - type: object - properties: - id: - type: integer - format: int64 - petId: - type: integer - format: int64 - quantity: - type: integer - format: int32 - shipDate: - type: string - format: date-time - status: - type: string - description: Order Status - enum: - - placed - - approved - - delivered - complete: - type: boolean - default: false - xml: - name: Order - AdditionalPropertiesClass: - type: object - properties: - map_property: - type: object - additionalProperties: - type: string - map_of_map_property: - type: object - additionalProperties: - type: object - additionalProperties: - type: string - $special[model.name]: - type: object - properties: - $special[property.name]: - type: integer - format: int64 - xml: - name: $special[model.name] - Return: - type: object - properties: - return: - type: integer - format: int32 - description: Model for testing reserved words - xml: - name: Return - ReadOnlyFirst: - type: object - properties: - bar: - type: string - readOnly: true - baz: - type: string - ArrayOfArrayOfNumberOnly: - type: object - properties: - ArrayArrayNumber: - type: array - items: - type: array - items: - type: number - OuterEnum: - type: string - enum: - - placed - - approved - - delivered - ArrayTest: - type: object - properties: - array_of_string: - type: array - items: - type: string - array_array_of_integer: - type: array - items: - type: array - items: - type: integer - format: int64 - array_array_of_model: - type: array - items: - type: array - items: - $ref: '#/components/schemas/ReadOnlyFirst' - OuterComposite: - type: object - properties: - my_number: - $ref: '#/components/schemas/OuterNumber' - my_string: - $ref: '#/components/schemas/OuterString' - my_boolean: - $ref: '#/components/schemas/OuterBoolean' - format_test: - required: - - byte - - date - - number - - password - type: object - properties: - integer: - maximum: 100.0 - minimum: 10.0 - type: integer - int32: - maximum: 200.0 - minimum: 20.0 - type: integer - format: int32 - int64: - type: integer - format: int64 - number: - maximum: 543.2 - minimum: 32.1 - type: number - float: - maximum: 987.6 - minimum: 54.3 - type: number - format: float - double: - maximum: 123.4 - minimum: 67.8 - type: number - format: double - string: - pattern: /[a-z]/i - type: string - byte: - pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$ - type: string - format: byte - binary: - type: string - format: binary - date: - type: string - format: date - dateTime: - type: string - format: date-time - uuid: - type: string - format: uuid - password: - maxLength: 64 - minLength: 10 - type: string - format: password - EnumArrays: - type: object - properties: - just_symbol: - type: string - enum: - - '>=' - - $ - array_enum: - type: array - items: - type: string - enum: - - fish - - crab - OuterString: - type: string - ClassModel: - type: object - properties: - _class: - type: string - description: Model for testing model with "_class" property - OuterBoolean: - type: boolean - Animal: - required: - - className - type: object - properties: - className: - type: string - color: - type: string - default: red - discriminator: - propertyName: className - Cat: - allOf: - - $ref: '#/components/schemas/Animal' - - type: object - properties: - declawed: - type: boolean - MapTest: - type: object - properties: - map_map_of_string: - type: object - additionalProperties: - type: object - additionalProperties: - type: string - map_of_enum_string: - type: object - additionalProperties: - type: string - enum: - - UPPER - - lower - Tag: - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - xml: - name: Tag - AnimalFarm: - type: array - items: - $ref: '#/components/schemas/Animal' - Pet: - required: - - name - - photoUrls - type: object - properties: - id: - type: integer - format: int64 - x-is-unique: true - category: - $ref: '#/components/schemas/Category' - name: - type: string - example: doggie - photoUrls: - type: array - xml: - name: photoUrl - wrapped: true - items: - type: string - tags: - type: array - xml: - name: tag - wrapped: true - items: - $ref: '#/components/schemas/Tag' - status: - type: string - description: pet status in the store - enum: - - available - - pending - - sold - example: - photoUrls: - - photoUrls - - photoUrls - name: doggie - id: 0 - category: - name: name - id: 6 - tags: - - name: name - id: 1 - - name: name - id: 1 - status: available - xml: - name: Pet - hasOnlyReadOnly: - type: object - properties: - bar: - type: string - readOnly: true - foo: - type: string - readOnly: true - body: - properties: - name: - type: string - description: Updated name of the pet - status: - type: string - description: Updated status of the pet - body_1: - properties: - additionalMetadata: - type: string - description: Additional data to pass to server - file: - type: string - description: file to upload - format: binary - body_2: - required: - - byte - - double - - number - - pattern_without_delimiter - properties: - integer: - maximum: 100 - minimum: 10 - type: integer - description: None - int32: - maximum: 200 - minimum: 20 - type: integer - description: None - format: int32 - int64: - type: integer - description: None - format: int64 - number: - maximum: 543.2 - minimum: 32.1 - type: number - description: None - float: - maximum: 987.6 - type: number - description: None - format: float - double: - maximum: 123.4 - minimum: 67.8 - type: number - description: None - format: double - string: - pattern: /[a-z]/i - type: string - description: None - pattern_without_delimiter: - pattern: ^[A-Z].* - type: string - description: None - byte: - type: string - description: None - format: byte - binary: - type: string - description: None - format: binary - date: - type: string - description: None - format: date - dateTime: - type: string - description: None - format: date-time - password: - maxLength: 64 - minLength: 10 - type: string - description: None - format: password - callback: - type: string - description: None - body_3: - required: - - byte - - double - - number - - pattern_without_delimiter - properties: - integer: - maximum: 100 - minimum: 10 - type: integer - description: None - int32: - maximum: 200 - minimum: 20 - type: integer - description: None - format: int32 - int64: - type: integer - description: None - format: int64 - number: - maximum: 543.2 - minimum: 32.1 - type: number - description: None - float: - maximum: 987.6 - type: number - description: None - format: float - double: - maximum: 123.4 - minimum: 67.8 - type: number - description: None - format: double - string: - pattern: /[a-z]/i - type: string - description: None - pattern_without_delimiter: - pattern: ^[A-Z].* - type: string - description: None - byte: - type: string - description: None - format: byte - binary: - type: string - description: None - format: binary - date: - type: string - description: None - format: date - dateTime: - type: string - description: None - format: date-time - password: - maxLength: 64 - minLength: 10 - type: string - description: None - format: password - callback: - type: string - description: None - body_4: - properties: - enum_form_string_array: - type: array - description: Form parameter enum test (string array) - items: - type: string - default: $ - enum: - - '>' - - $ - enum_form_string: - type: string - description: Form parameter enum test (string) - default: -efg - enum: - - _abc - - -efg - - (xyz) - enum_query_double: - type: number - description: Query parameter enum test (double) - format: double - enum: - - 1.1 - - -1.2 - body_5: - required: - - param - - param2 - properties: - param: - type: string - description: field1 - param2: - type: string - description: field2 - securitySchemes: - petstore_auth: - type: oauth2 - flows: - implicit: - authorizationUrl: http://petstore.swagger.io/api/oauth/dialog - scopes: - write:pets: modify pets in your account - read:pets: read your pets - http_basic_test: - type: http - scheme: basic - api_key: - type: apiKey - name: api_key - in: header - api_key_query: - type: apiKey - name: api_key_query - in: query diff --git a/samples/server/petstore/nodejs/controllers/Animal.js b/samples/server/petstore/nodejs/controllers/Animal.js index d8180e84219..b13b7b3fc92 100644 --- a/samples/server/petstore/nodejs/controllers/Animal.js +++ b/samples/server/petstore/nodejs/controllers/Animal.js @@ -43,8 +43,8 @@ module.exports.updateAnimal = function updateAnimal (req, res, next, body) { }); }; -module.exports.updateAnimalWithForm = function updateAnimalWithForm (req, res, next, name, status, animalId) { - Animal.updateAnimalWithForm(name, status, animalId) +module.exports.updateAnimalWithForm = function updateAnimalWithForm (req, res, next, animalId) { + Animal.updateAnimalWithForm(animalId) .then(function (response) { utils.writeJson(res, response); }) diff --git a/samples/server/petstore/nodejs/controllers/Dog.js b/samples/server/petstore/nodejs/controllers/Dog.js index 46b1b806268..80baef55723 100644 --- a/samples/server/petstore/nodejs/controllers/Dog.js +++ b/samples/server/petstore/nodejs/controllers/Dog.js @@ -43,8 +43,8 @@ module.exports.updateDog = function updateDog (req, res, next, body) { }); }; -module.exports.updateDogWithForm = function updateDogWithForm (req, res, next, name, status, dogId) { - Dog.updateDogWithForm(name, status, dogId) +module.exports.updateDogWithForm = function updateDogWithForm (req, res, next, dogId) { + Dog.updateDogWithForm(dogId) .then(function (response) { utils.writeJson(res, response); }) diff --git a/samples/server/petstore/nodejs/controllers/Pet.js b/samples/server/petstore/nodejs/controllers/Pet.js index 2904143460a..bc4d6c51f38 100644 --- a/samples/server/petstore/nodejs/controllers/Pet.js +++ b/samples/server/petstore/nodejs/controllers/Pet.js @@ -93,8 +93,8 @@ module.exports.updatePet = function updatePet (req, res, next, body) { }); }; -module.exports.updatePetWithForm = function updatePetWithForm (req, res, next, name, status, petId) { - Pet.updatePetWithForm(name, status, petId) +module.exports.updatePetWithForm = function updatePetWithForm (req, res, next, petId) { + Pet.updatePetWithForm(petId) .then(function (response) { utils.writeJson(res, response); }) @@ -103,8 +103,8 @@ module.exports.updatePetWithForm = function updatePetWithForm (req, res, next, n }); }; -module.exports.uploadFile = function uploadFile (req, res, next, additionalMetadata, file, petId) { - Pet.uploadFile(additionalMetadata, file, petId) +module.exports.uploadFile = function uploadFile (req, res, next, petId) { + Pet.uploadFile(petId) .then(function (response) { utils.writeJson(res, response); }) diff --git a/samples/server/petstore/nodejs/index.js b/samples/server/petstore/nodejs/index.js index 28f219aa649..623c3645dcb 100644 --- a/samples/server/petstore/nodejs/index.js +++ b/samples/server/petstore/nodejs/index.js @@ -1,44 +1,24 @@ 'use strict'; -var fs = require('fs'), - path = require('path'), - http = require('http'); +var path = require('path'); +var http = require('http'); -var app = require('connect')(); var oas3Tools = require('oas3-tools'); -var jsyaml = require('js-yaml'); var serverPort = 8080; // swaggerRouter configuration var options = { - swaggerUi: path.join(__dirname, '/swagger.json'), - controllers: path.join(__dirname, './controllers'), - useStubs: process.env.NODE_ENV === 'development' // Conditionally turn on stubs (mock mode) + routing: { + controllers: path.join(__dirname, './controllers') + }, }; -// The Swagger document (require it, build it programmatically, fetch it from a URL, ...) -var spec = fs.readFileSync(path.join(__dirname,'api/swagger.yaml'), 'utf8'); -var swaggerDoc = jsyaml.safeLoad(spec); +var expressAppConfig = oas3Tools.expressAppConfig(path.join(__dirname, 'api/openapi.yaml'), options); +var app = expressAppConfig.getApp(); // Initialize the Swagger middleware -oas3Tools.initializeMiddleware(swaggerDoc, function (middleware) { - - // Interpret Swagger resources and attach metadata to request - must be first in swagger-tools middleware chain - app.use(middleware.swaggerMetadata()); - - // Validate Swagger requests - app.use(middleware.swaggerValidator()); - - // Route validated requests to appropriate controller - app.use(middleware.swaggerRouter(options)); - - // Serve the Swagger documents and Swagger UI - app.use(middleware.swaggerUi()); - - // Start the server - http.createServer(app).listen(serverPort, function () { +http.createServer(app).listen(serverPort, function () { console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort); console.log('Swagger-ui is available on http://localhost:%d/docs', serverPort); - }); - }); + diff --git a/samples/server/petstore/nodejs/package-lock.json b/samples/server/petstore/nodejs/package-lock.json index c3aa4f89e9c..4afd22747b8 100644 --- a/samples/server/petstore/nodejs/package-lock.json +++ b/samples/server/petstore/nodejs/package-lock.json @@ -4,6 +4,41 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@apidevtools/json-schema-ref-parser": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz", + "integrity": "sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==", + "requires": { + "@jsdevtools/ono": "^7.1.3", + "call-me-maybe": "^1.0.1", + "js-yaml": "^3.13.1" + } + }, + "@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "append-field": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", @@ -17,40 +52,48 @@ "sprintf-js": "~1.0.2" } }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.14" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } }, "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" } } }, @@ -66,53 +109,17 @@ "requires": { "dicer": "0.2.5", "readable-stream": "1.1.x" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } } }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" }, "concat-stream": { "version": "1.6.2", @@ -123,33 +130,79 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "requires": { "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", "utils-merge": "1.0.1" } }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, - "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "cookie-parser": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "requires": { + "cookie": "0.4.0", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "core-util-is": { "version": "1.0.2", @@ -164,11 +217,6 @@ "ms": "2.0.0" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -186,29 +234,6 @@ "requires": { "readable-stream": "1.1.x", "streamsearch": "0.1.2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } } }, "ee-first": { @@ -236,354 +261,212 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", "debug": "2.6.9", - "encodeurl": "~1.0.1", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } } }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "express-openapi-validator": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/express-openapi-validator/-/express-openapi-validator-4.4.3.tgz", + "integrity": "sha512-2qasKPBgwvYZ/iOeesTgan5hy72t9KT9hEmLTW72lMlcHvID5uIIjd2DA47fHa4s2MW94H5mOy8R0rV2r70seQ==", + "requires": { + "ajv": "^6.12.6", + "content-type": "^1.0.4", + "js-yaml": "^3.14.0", + "json-schema-ref-parser": "^9.0.6", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0", + "lodash.zipobject": "^4.1.3", + "media-typer": "^1.1.0", + "multer": "^1.4.2", + "ono": "^7.1.3", + "path-to-regexp": "^6.2.0" + }, + "dependencies": { + "media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==" + }, + "path-to-regexp": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", + "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" } }, - "formidable": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", - "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==" + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "graphlib": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.5.tgz", - "integrity": "sha512-XvtbqCcw+EM5SqQrIetIKKD+uZVNQtDPD1goIg7K73RuRZtVI5rYMdcCVSHm/AS1sCBZ7vt0p5WgXouucHQaOA==", - "requires": { - "lodash": "^4.11.1" - } - }, "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "dependencies": { - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - } + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, - "json-refs": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.12.tgz", - "integrity": "sha512-6RbO1Y3e0Hty/tEpXtQG6jUx7g1G8e39GIOuPugobPC8BX1gZ0OGZQpBn1FLWGkuWF35GRGADvhwdEIFpwIjyA==", + "json-schema-ref-parser": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-9.0.6.tgz", + "integrity": "sha512-z0JGv7rRD3CnJbZY/qCpscyArdtLJhr/wRBmFUdoZ8xMjsFyNdILSprG2degqRLjBjyhZHAEBpGOxniO9rKTxA==", "requires": { - "commander": "~2.11.0", - "graphlib": "^2.1.1", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "native-promise-only": "^0.8.1", - "path-loader": "^1.0.5", - "slash": "^1.0.0", - "uri-js": "^3.0.2" + "@apidevtools/json-schema-ref-parser": "9.0.6" } }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" - }, - "lodash._arraypool": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", - "integrity": "sha1-6I7suS4ruEyQZWEv2VigcZzUf5Q=" + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "lodash._basebind": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", - "integrity": "sha1-6UC5690nwyfgqNqxtVkWxTQelXU=", - "requires": { - "lodash._basecreate": "~2.4.1", - "lodash._setbinddata": "~2.4.1", - "lodash._slice": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - }, - "lodash._baseclone": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", - "integrity": "sha1-MPgj5X4X43NdODvWK2Czh1Q7QYY=", - "requires": { - "lodash._getarray": "~2.4.1", - "lodash._releasearray": "~2.4.1", - "lodash._slice": "~2.4.1", - "lodash.assign": "~2.4.1", - "lodash.foreach": "~2.4.1", - "lodash.forown": "~2.4.1", - "lodash.isarray": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - }, - "lodash._basecreate": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", - "integrity": "sha1-+Ob1tXip405UEXm1a47uv0oofgg=", - "requires": { - "lodash._isnative": "~2.4.1", - "lodash.isobject": "~2.4.1", - "lodash.noop": "~2.4.1" - } - }, - "lodash._basecreatecallback": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", - "integrity": "sha1-fQsmdknLKeehOdAQO3wR+uhOSFE=", - "requires": { - "lodash._setbinddata": "~2.4.1", - "lodash.bind": "~2.4.1", - "lodash.identity": "~2.4.1", - "lodash.support": "~2.4.1" - } - }, - "lodash._basecreatewrapper": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", - "integrity": "sha1-TTHy595+E0+/KAN2K4FQsyUZZm8=", - "requires": { - "lodash._basecreate": "~2.4.1", - "lodash._setbinddata": "~2.4.1", - "lodash._slice": "~2.4.1", - "lodash.isobject": "~2.4.1" - } - }, - "lodash._createwrapper": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", - "integrity": "sha1-UdaVeXPaTtVW43KQ2MGhjFPeFgc=", - "requires": { - "lodash._basebind": "~2.4.1", - "lodash._basecreatewrapper": "~2.4.1", - "lodash._slice": "~2.4.1", - "lodash.isfunction": "~2.4.1" - } - }, - "lodash._getarray": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", - "integrity": "sha1-+vH3+BD6mFolHCGHQESBCUg55e4=", - "requires": { - "lodash._arraypool": "~2.4.1" - } - }, - "lodash._isnative": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=" - }, - "lodash._maxpoolsize": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", - "integrity": "sha1-nUgvRjuOZq++WcLBTtsRcGAXIzQ=" - }, - "lodash._objecttypes": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" - }, - "lodash._releasearray": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", - "integrity": "sha1-phOWMNdtFTawfdyAliiJsIL2pkE=", - "requires": { - "lodash._arraypool": "~2.4.1", - "lodash._maxpoolsize": "~2.4.1" - } - }, - "lodash._setbinddata": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", - "integrity": "sha1-98IAzRuS7yNrOZ7s9zxkjReqlNI=", - "requires": { - "lodash._isnative": "~2.4.1", - "lodash.noop": "~2.4.1" - } - }, - "lodash._shimkeys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", - "requires": { - "lodash._objecttypes": "~2.4.1" - } - }, - "lodash._slice": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", - "integrity": "sha1-dFz0GlNZexj2iImFREBe+isG2Q8=" - }, - "lodash.assign": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", - "integrity": "sha1-hMOVlt1xGBqXsGUpE6fJZ15Jsao=", - "requires": { - "lodash._basecreatecallback": "~2.4.1", - "lodash._objecttypes": "~2.4.1", - "lodash.keys": "~2.4.1" - } - }, - "lodash.bind": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", - "integrity": "sha1-XRn6AFyMTSNvr0dCx7eh/Kvikmc=", - "requires": { - "lodash._createwrapper": "~2.4.1", - "lodash._slice": "~2.4.1" - } + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, "lodash.clonedeep": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-2.4.1.tgz", - "integrity": "sha1-8pIDtAsS/uCkXTYxZIJZvrq8eGg=", - "requires": { - "lodash._baseclone": "~2.4.1", - "lodash._basecreatecallback": "~2.4.1" - } - }, - "lodash.foreach": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", - "integrity": "sha1-/j/Do0yGyUyrb5UiVgKCdB4BYwk=", - "requires": { - "lodash._basecreatecallback": "~2.4.1", - "lodash.forown": "~2.4.1" - } - }, - "lodash.forown": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", - "integrity": "sha1-eLQer+FAX6lmRZ6kGT/VAtCEUks=", - "requires": { - "lodash._basecreatecallback": "~2.4.1", - "lodash._objecttypes": "~2.4.1", - "lodash.keys": "~2.4.1" - } - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "lodash.identity": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", - "integrity": "sha1-ZpTP+mX++TH3wxzobHRZfPVg9PE=" - }, - "lodash.isarray": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", - "integrity": "sha1-tSoybB9i9tfac6MdVAHfbvRPD6E=", - "requires": { - "lodash._isnative": "~2.4.1" - } - }, - "lodash.isequal": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "lodash.isfunction": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", - "integrity": "sha1-LP1XXHPkmKtX4xm3f6Aq3vE6lNE=" - }, - "lodash.isobject": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", - "requires": { - "lodash._objecttypes": "~2.4.1" - } + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, - "lodash.keys": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", - "requires": { - "lodash._isnative": "~2.4.1", - "lodash._shimkeys": "~2.4.1", - "lodash.isobject": "~2.4.1" - } + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "lodash.noop": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "integrity": "sha1-T7VPgWZS5a4Q6PcvcXo4jHMmU4o=" + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, - "lodash.support": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", - "integrity": "sha1-Mg4LZwMWc8KNeiu12eAzGkUkBRU=", - "requires": { - "lodash._isnative": "~2.4.1" - } + "lodash.zipobject": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz", + "integrity": "sha1-s5n1q6j/YqdG9peb8gshT5ZNvvg=" }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -595,29 +478,48 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "requires": { - "mime-db": "~1.37.0" + "mime-db": "1.44.0" } }, "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mkdirp": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", "requires": { - "minimist": "0.0.8" + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } } }, "ms": { @@ -626,9 +528,9 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.1.tgz", - "integrity": "sha512-zzOLNRxzszwd+61JFuAo0fxdQfvku12aNJgnla0AQ+hHxFmfc/B7jBVuPr5Rmvu46Jze/iJrFpSOsD7afO8SDw==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.2.tgz", + "integrity": "sha512-xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==", "requires": { "append-field": "^1.0.0", "busboy": "^0.2.11", @@ -640,47 +542,44 @@ "xtend": "^4.0.0" } }, - "native-promise-only": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "oas3-tools": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/oas3-tools/-/oas3-tools-1.0.1.tgz", - "integrity": "sha512-eolDDdOhz8lRuM1LJ2vTsCPTIFiZ8Q8n/iBLNewpD+fnDhNP6wOZNfBF1ZAdl+haLKSh1SmVAv1Ox0OYRXTbyA==", - "requires": { - "async": "^2.5.0", - "body-parser": "1.18.2", - "commander": "~2.11.0", - "debug": "^3.1.0", - "js-yaml": "^3.3.1", - "json-refs": "^3.0.2", - "lodash": "^4.17.4", - "multer": "^1.1.0", - "parseurl": "^1.3.0", - "path-to-regexp": "^2.0.0", - "qs": "^6.0.3", - "serve-static": "^1.10.0", - "spark-md5": "^3.0.0", - "superagent": "^3.5.2", - "swagger-converter": "^0.1.7", - "traverse": "^0.6.6", - "z-schema": "^3.15.4" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/oas3-tools/-/oas3-tools-2.2.0.tgz", + "integrity": "sha512-t+a1384fNIlDnAC+4HK+tq778CC5VG9CEm6kegGQfAfTRXuhETX78NpCKPxPg/UqL4ITNHBi8MPsQskhZ6DtMw==", + "requires": { + "async": "^2.6.3", + "body-parser": "1.19.0", + "cookie-parser": "^1.4.4", + "debug": "^4.1.1", + "express": "^4.17.1", + "express-openapi-validator": "^4.4.3", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "morgan": "^1.9.1", + "multer": "^1.4.2", + "parseurl": "^1.3.3", + "path-to-regexp": "^3.2.0", + "qs": "^6.9.1", + "serve-static": "^1.14.1" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -697,29 +596,42 @@ "ee-first": "1.1.1" } }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, - "path-loader": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.9.tgz", - "integrity": "sha512-pD37gArtr+/72Tst9oJoDB9k7gB9A09Efj7yyBi5HDUqaxqULXBWW8Rnw2TfNF+3sN7QZv0ZNdW1Qx2pFGW5Jg==", + "ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ==", "requires": { - "native-promise-only": "^0.8.1", - "superagent": "^3.8.3" + "@jsdevtools/ono": "7.1.3" } }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, "path-to-regexp": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz", - "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", + "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } }, "punycode": { "version": "2.1.1", @@ -727,61 +639,35 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", - "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - } } }, "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, "safe-buffer": { @@ -789,10 +675,15 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -801,51 +692,36 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" }, "dependencies": { - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "spark-md5": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.0.tgz", - "integrity": "sha1-NyIifFTi+vJLHcbZM8wUTm9xv+8=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, "sprintf-js": { "version": "1.0.3", @@ -853,9 +729,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "streamsearch": { "version": "0.1.2", @@ -863,65 +739,22 @@ "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" }, "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, - "swagger-converter": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/swagger-converter/-/swagger-converter-0.1.7.tgz", - "integrity": "sha1-oJdRnG8e5N1n4wjZtT3cnCslf5c=", - "requires": { - "lodash.clonedeep": "^2.4.1" - } - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -935,9 +768,9 @@ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "uri-js": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", - "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "requires": { "punycode": "^2.1.0" } @@ -952,27 +785,15 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, - "validator": { - "version": "10.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.9.0.tgz", - "integrity": "sha512-hZJcZSWz9poXBlAkjjcsNAdrZ6JbjD3kWlNjq/+vE7RLLS/+8PAj3qVVwrwsOz/WL8jPmZ1hYkRvtlUeZAm4ug==" + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "z-schema": { - "version": "3.24.2", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.24.2.tgz", - "integrity": "sha512-Zb2YLJ9g72MexBXKPRzoypd4OZfVkFghdy10eVbcMNLl9YQsPXtyMpiK7a3sG7IIERg1lEDjEMrG9Km9DPbWLw==", - "requires": { - "commander": "^2.7.1", - "core-js": "^2.5.7", - "lodash.get": "^4.0.0", - "lodash.isequal": "^4.0.0", - "validator": "^10.0.0" - } + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" } } } diff --git a/samples/server/petstore/nodejs/package.json b/samples/server/petstore/nodejs/package.json index 74227708a58..6ddd4c1e37e 100644 --- a/samples/server/petstore/nodejs/package.json +++ b/samples/server/petstore/nodejs/package.json @@ -15,6 +15,6 @@ "dependencies": { "connect": "^3.2.0", "js-yaml": "^3.3.0", - "oas3-tools": "^1.0.1" + "oas3-tools": "^2.2.0" } } diff --git a/samples/server/petstore/nodejs/service/AnimalService.js b/samples/server/petstore/nodejs/service/AnimalService.js index 15d3e5d9d90..a1a274cc60b 100644 --- a/samples/server/petstore/nodejs/service/AnimalService.js +++ b/samples/server/petstore/nodejs/service/AnimalService.js @@ -67,12 +67,10 @@ exports.updateAnimal = function(body) { /** * Updates a animal * - * name String (optional) - * status String (optional) * animalId Long ID of animal that needs to be updated * no response value expected for this operation **/ -exports.updateAnimalWithForm = function(name,status,animalId) { +exports.updateAnimalWithForm = function(animalId) { return new Promise(function(resolve, reject) { resolve(); }); diff --git a/samples/server/petstore/nodejs/service/DogService.js b/samples/server/petstore/nodejs/service/DogService.js index 3a2046e7e18..d18e6e3144c 100644 --- a/samples/server/petstore/nodejs/service/DogService.js +++ b/samples/server/petstore/nodejs/service/DogService.js @@ -64,12 +64,10 @@ exports.updateDog = function(body) { /** * Updates a dog * - * name String (optional) - * status String (optional) * dogId Long ID of dog that needs to be updated * no response value expected for this operation **/ -exports.updateDogWithForm = function(name,status,dogId) { +exports.updateDogWithForm = function(dogId) { return new Promise(function(resolve, reject) { resolve(); }); diff --git a/samples/server/petstore/nodejs/service/PetService.js b/samples/server/petstore/nodejs/service/PetService.js index acd29456aed..ec63bc773ef 100644 --- a/samples/server/petstore/nodejs/service/PetService.js +++ b/samples/server/petstore/nodejs/service/PetService.js @@ -242,12 +242,10 @@ exports.updatePet = function(body) { /** * Updates a pet in the store with form data * - * name String (optional) - * status String (optional) * petId Long ID of pet that needs to be updated * no response value expected for this operation **/ -exports.updatePetWithForm = function(name,status,petId) { +exports.updatePetWithForm = function(petId) { return new Promise(function(resolve, reject) { resolve(); }); @@ -257,12 +255,10 @@ exports.updatePetWithForm = function(name,status,petId) { /** * uploads an image * - * additionalMetadata String (optional) - * file byte[] (optional) * petId Long ID of pet to update * returns ApiResponse **/ -exports.uploadFile = function(additionalMetadata,file,petId) { +exports.uploadFile = function(petId) { return new Promise(function(resolve, reject) { var examples = {}; examples['application/json'] = {