node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

serenity-controller-helper

serenity controller helper

Common module for serenity applications.

This module abstracts the common controller functionality It provides CURD operations on top of sequelize model. Filtering and google partial response pattern is supported

How to install?

Install via npm and git

npm install git+https://github.com/appirio-tech/lc1-node-controller-helper.git

Dependencies

  • lc1-node-datasource (To access the datasource)
  • lc1-node-route-helper (To process the response)
  • lc1-node-param-helper (To parse request query filters)
  • lc1-node-partial-response-helper (To support partial response)
  • lc1-node-auth (For application authentication)

Configuration

Application configuration is passed from application. The configuration should define datasource configuration as specified by serenity-datasource package. This module will instantiate an instance of datasource and will use it.

An optional 'query' config is provided which indicates default query size. If no query configuration is supplied default would be 50

Below is a sample configuration object

app: {
   query: 100
},
datasource: {
   pgURL: '<POSTGRESQL CONNECTION STRING>',
   modelsDirectory: '<MODELES DIRECTORY>'
}

The datasource configuration defined in above code sample is mandatory

List of methods

Below is the list of method, for detailed method description see individual method docs

  • buildController

This method returns a controller instance. Methods available on controller instance are defined below

  • get
  • create
  • update
  • all
  • delete

Example

var serenityControllerHelper = require('lc1-node-controller-helper');
var config = require('config');
// instantiate serenityControllerHelper
var controllerHelper = new serenityControllerHelper(config);
 
var challengeController = controllerHelper.buildController(Challenge, null, challengeControllerOptions);
// Now challengeController is an controller instance supporting CURD operatios on Challenge model