node package manager


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+


  • 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)


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: {
   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


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