cf-crud-service-api-builder

1.0.1 • Public • Published

cf-crud-service-api-builder

Build an HTTP API for a crud-service.

Installation

npm install --save cf-crud-service-api-builder

Usage

const crudServiceApiBuilder = require('cf-crud-service-api-builder')
const router = require('express')()
const logger = require('bunyan').createLogger()
const service = require('./service')
const middleware = require('./auth-check-middleware')
 
crudServiceApiBuilder(service, '/widgets', router, logger, middleware)

Hooks

When using the api builder, you can hook into certain actions to manipulate the request data before it is sent to the database or the response data before it is sent to the requester.

 
const api = crudServiceApiBuilder(service, '/article', router, logger, middleware)
 
api.hook('create:request', function (data, cb) {
  // do whatever you like with the data
  cb(null, data)
})
 

Supported hooks are:

  • create:request
  • create:response
  • read:response
  • update:request
  • update:response
  • partialUpdate:request
  • partialUpdate:response

Events

When using the api builder, you can listen for certain events so that you can add hooks to perform your own actions after a request has been succesful. e.g

 
const api = crudServiceApiBuilder(service, '/article', router, logger, middleware)
 
api.on('create', function (req, newArticle) {
  // do whatever you like with the req and article object
})
 

Supported events are:

  • create
  • update
  • partialUpdate
  • delete

Credits

Built by developers at Clock.

Licence

Licensed under the ISC

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.1255latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.1255
1.0.00
0.4.021
0.3.00
0.2.00
0.5.033
0.1.30
0.1.20
0.1.10
0.1.00

Package Sidebar

Install

npm i cf-crud-service-api-builder

Weekly Downloads

309

Version

1.0.1

License

ISC

Unpacked Size

33.8 kB

Total Files

21

Last publish

Collaborators

  • bengourley
  • serby