base.js | |
---|---|
var AbstractResourceController = require('./abstract').AbstractResourceController; | |
BaseResourceController class implements @param conf - JSON configuration object {
} @author Uroš Lates | var BaseResourceController = function(conf) { |
assert expected | if (!conf || !conf.hasOwnProperty('resourceProvider') || !conf.resourceProvider) {
throw new Error('<BaseResourceController configuration requires <resourceProvider> parameter to be set!');
} |
ResourceProvider instance, used internally. It is expected to implement CRUD DAO for the Resource that the controller is made for. | this.resourceProvider = conf.resourceProvider;
this.resourceRequestParamName = conf.resourceRequestParamName || "object";
this.resourceRequestParamNamePlural = conf.resourceRequestParamNamePlural || "object_list";
}; |
Extends | BaseResourceController.prototype = Object.create(AbstractResourceController); |
| BaseResourceController.prototype = { |
@see AbstractResourceController.list() | list: function(req, res, next) {
var args = Array.prototype.slice.call(arguments, 3);
this.resourceProvider.find.apply(this.resourceProvider, args);
} |
@see AbstractResourceController.details() | , details: function(req, res, next) {
var args = Array.prototype.slice.call(arguments, 3);
this.resourceProvider.findOne.apply(this.resourceProvider, args);
}
|
@see AbstractResourceController.create() | , create: function(req, res, next) {
var args = Array.prototype.slice.call(arguments, 3)
, resourceJson = req.body[this.resourceRequestParamName]; |
prepend resource to be saved to the arguments array | args.unshift(resourceJson);
this.resourceProvider.save.apply(this.resourceProvider, args);
}
|
@see AbstractResourceController.update() | , update: function(req, res, next) {
var args = Array.prototype.slice.call(arguments, 3);
this.resourceProvider.update.apply(this.resourceProvider, args);
}
|
@see AbstractResourceController.delete() | , delete: function(req, res, next) {
var args = Array.prototype.slice.call(arguments, 3);
this.resourceProvider.delete.apply(this.resourceProvider, args);
}
};
exports.BaseResourceController = BaseResourceController;
|