Use your Sequelize models in JSON Schemas or Swagger
Main use case for this code is to generate models for hand crafted swagger.json.
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install sequelize-json-schema
let Simple = sequelize.define('simple', {
title: Sequelize.STRING,
description: Sequelize.TEXT
});
let def = definition(Simple);
console.log(def);
And result will be:
{
type: 'object',
properties: {
id: {
type: 'integer',
format: 'int32'
},
title: { type: 'string' },
description: { type: 'string' },
createdAt: {
type: 'string',
format: 'date-time'
},
updatedAt: {
type: 'string',
format: 'date-time'
}
}
}
This tool generates definitions
part of the Swagger Manifest. So if you have Swagger definition for your API just extend definitions
with JSON generated by this tool.
{
"swagger": "2.0",
"info": {
"title": "API",
"version": "1.0.0"
},
"paths": {
"simple": {
"get": {
"parameters": [ ],
"responses": {
"200": { "$ref": "#/definitions/simple" }
}
}
}
},
"definitions": {
"simple": {
type: 'object',
properties: {
id: {
type: 'integer',
format: 'int32'
},
title: { type: 'string' },
description: { type: 'string' },
createdAt: {
type: 'string',
format: 'date-time'
},
updatedAt: {
type: 'string',
format: 'date-time'
}
}
}
}
}