fastify-autocrud

0.0.4 • Public • Published

fastify-autocrud

build status issues Coverage Status license version js-standard-style Beerpay

Plugin for autogenerate CRUD routes as fast as possible.

Install

npm i fastify-autocrud --save

Usage

fastify.register(require('fastify-autocrud'), {
    prefix: '/api/products',
    Collection: require('../models/Product')
})

Product.js

const mongoose = require('mongoose')
 
const Product = new mongoose.Schema({
  name: String,
  description: String,
  image: String,
  cost: Number,
  price: Number,
  qty: Number
}, {
  timestamps: true
})
 
module.exports = mongoose.model('Product', Product)

If you want add custom routes

const customController = require('customController')
 
fastify.register(require('fastify-autocrud'), {
    prefix: '/api/products',
    Collection: require('../models/Product'),
    additionalRoute: customController
})

customController.js

const boom = require('boom')
 
const customRoute = {
    method: 'GET',
    url: '/custom',
    handler: async function (req, reply) {
        try {
            reply.type('application/json').code(200).send({ "customroute": "ok" })
        } catch (err) {
            throw boom.boomify(err)
        }
    }
}
 
module.exports = [customRoute]

License

Licensed under MIT.

Readme

Keywords

Package Sidebar

Install

npm i fastify-autocrud

Weekly Downloads

87

Version

0.0.4

License

MIT

Unpacked Size

12.1 kB

Total Files

11

Last publish

Collaborators

  • paranoiasystem