erm2openapi
v1.1.0
Published
Create OpenAPI documentation from Mongoose schemas for express-restify-mongoose servers.
Downloads
1
Maintainers
Readme
erm2openapi
Create OpenAPI documentation from Mongoose models for express-restify-mongoose servers.
Overview
Library for creating OpenAPI from Mongoose models for servers using express-restify-mongoose (ERM). The resulting OpenAPI document will include all path operations generated by ERM as well as tags and schemas.
Installation
npm install erm2openapi
Usage
const erm2openapi = require('erm2openapi');
const fs = require('fs');
const mongoose = require('mongoose');
// Create a schema
const blogSchema = new mongoose.Schema({
title: String,
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number,
},
});
// Create a model
const blog = mongoose.model('blog', blogSchema);
// Create object keyed by model name/identifier
const models = {
blog: { model: blog },
};
// Create base OpenAPI object with information about your API/team
const base = {
info: { title: 'Some API', version: '1.0.0' },
servers: [
{
url: 'https://some.host.com',
description: 'Production server',
},
],
};
// Create OpenAPI object
const openapi = erm2openapi(base, models);
// Do something with output, like writing to a file
fs.writeFileSync('api-docs.json', JSON.stringify(openapi, null, 2));