| 1234567891011121314 |
- const defaults = require('./defaults')
- const asyncHandler = require('express-async-handler')
- module.exports = (opts) => {
- opts = defaults(opts)
- const { app, controller } = opts
- if (controller.list) app.get(`/api/${opts.paramPlural}`, asyncHandler(controller.list))
- if (controller.create) app.post(`/api/${opts.paramPlural}`, asyncHandler(controller.create))
- if (controller.trash) app.get(`/api/${opts.paramPlural}/trash`, asyncHandler(controller.trash))
- if (controller.read) app.get(`/api/${opts.paramPlural}/:id`, asyncHandler(controller.read))
- if (controller.update) app.patch(`/api/${opts.paramPlural}/:id`, asyncHandler(controller.update))
- if (controller.delete) app.delete(`/api/${opts.paramPlural}/:id`, asyncHandler(controller.delete))
- if (controller.undelete) app.delete(`/api/${opts.paramPlural}/trash/:id`, asyncHandler(controller.undelete))
- }
|