不要怂,就是干,撸起袖子干!

Commit dd008910 by Jan Scheurer

Allow to chain hook definitions on models

This commit allows to chain hook definitions like

Project
	.afterCreate(function (proj, fn) {/* HOOK */})
	.beforeDestroy(function (proj, fn) {/* HOOK */})
;
1 parent 7b7e4988
Showing with 18 additions and 17 deletions
...@@ -127,7 +127,7 @@ Hooks.runHooks = function() { ...@@ -127,7 +127,7 @@ Hooks.runHooks = function() {
}; };
Hooks.hook = function() { Hooks.hook = function() {
Hooks.addHook.apply(this, arguments); return Hooks.addHook.apply(this, arguments);
}; };
/** /**
...@@ -155,6 +155,7 @@ Hooks.addHook = function(hookType, name, fn) { ...@@ -155,6 +155,7 @@ Hooks.addHook = function(hookType, name, fn) {
// Just in case if we override the default DAOFactory.options // Just in case if we override the default DAOFactory.options
this.options.hooks[hookType] = this.options.hooks[hookType] || []; this.options.hooks[hookType] = this.options.hooks[hookType] || [];
this.options.hooks[hookType][this.options.hooks[hookType].length] = !!name ? {name: name, fn: method} : method; this.options.hooks[hookType][this.options.hooks[hookType].length] = !!name ? {name: name, fn: method} : method;
return this;
}; };
/** /**
...@@ -163,7 +164,7 @@ Hooks.addHook = function(hookType, name, fn) { ...@@ -163,7 +164,7 @@ Hooks.addHook = function(hookType, name, fn) {
* @param {Function} fn A callback function that is called with instance, callback(err) * @param {Function} fn A callback function that is called with instance, callback(err)
*/ */
Hooks.beforeValidate = function(name, fn) { Hooks.beforeValidate = function(name, fn) {
Hooks.addHook.call(this, 'beforeValidate', name, fn); return Hooks.addHook.call(this, 'beforeValidate', name, fn);
}; };
/** /**
...@@ -172,7 +173,7 @@ Hooks.beforeValidate = function(name, fn) { ...@@ -172,7 +173,7 @@ Hooks.beforeValidate = function(name, fn) {
* @param {Function} fn A callback function that is called with instance, callback(err) * @param {Function} fn A callback function that is called with instance, callback(err)
*/ */
Hooks.afterValidate = function(name, fn) { Hooks.afterValidate = function(name, fn) {
Hooks.addHook.call(this, 'afterValidate', name, fn); return Hooks.addHook.call(this, 'afterValidate', name, fn);
}; };
/** /**
...@@ -181,7 +182,7 @@ Hooks.afterValidate = function(name, fn) { ...@@ -181,7 +182,7 @@ Hooks.afterValidate = function(name, fn) {
* @param {Function} fn A callback function that is called with attributes, callback(err) * @param {Function} fn A callback function that is called with attributes, callback(err)
*/ */
Hooks.beforeCreate = function(name, fn) { Hooks.beforeCreate = function(name, fn) {
Hooks.addHook.call(this, 'beforeCreate', name, fn); return Hooks.addHook.call(this, 'beforeCreate', name, fn);
}; };
/** /**
...@@ -190,7 +191,7 @@ Hooks.beforeCreate = function(name, fn) { ...@@ -190,7 +191,7 @@ Hooks.beforeCreate = function(name, fn) {
* @param {Function} fn A callback function that is called with attributes, callback(err) * @param {Function} fn A callback function that is called with attributes, callback(err)
*/ */
Hooks.afterCreate = function(name, fn) { Hooks.afterCreate = function(name, fn) {
Hooks.addHook.call(this, 'afterCreate', name, fn); return Hooks.addHook.call(this, 'afterCreate', name, fn);
}; };
/** /**
...@@ -201,7 +202,7 @@ Hooks.afterCreate = function(name, fn) { ...@@ -201,7 +202,7 @@ Hooks.afterCreate = function(name, fn) {
* @alias beforeDelete * @alias beforeDelete
*/ */
Hooks.beforeDestroy = function(name, fn) { Hooks.beforeDestroy = function(name, fn) {
Hooks.addHook.call(this, 'beforeDestroy', name, fn); return Hooks.addHook.call(this, 'beforeDestroy', name, fn);
}; };
/** /**
...@@ -212,15 +213,15 @@ Hooks.beforeDestroy = function(name, fn) { ...@@ -212,15 +213,15 @@ Hooks.beforeDestroy = function(name, fn) {
* @alias afterDelete * @alias afterDelete
*/ */
Hooks.afterDestroy = function(name, fn) { Hooks.afterDestroy = function(name, fn) {
Hooks.addHook.call(this, 'afterDestroy', name, fn); return Hooks.addHook.call(this, 'afterDestroy', name, fn);
}; };
Hooks.beforeDelete = function(name, fn) { Hooks.beforeDelete = function(name, fn) {
Hooks.addHook.call(this, 'beforeDelete', name, fn); return Hooks.addHook.call(this, 'beforeDelete', name, fn);
}; };
Hooks.afterDelete = function(name, fn) { Hooks.afterDelete = function(name, fn) {
Hooks.addHook.call(this, 'afterDelete', name, fn); return Hooks.addHook.call(this, 'afterDelete', name, fn);
}; };
/** /**
...@@ -229,7 +230,7 @@ Hooks.afterDelete = function(name, fn) { ...@@ -229,7 +230,7 @@ Hooks.afterDelete = function(name, fn) {
* @param {Function} fn A callback function that is called with instance, callback(err) * @param {Function} fn A callback function that is called with instance, callback(err)
*/ */
Hooks.beforeUpdate = function(name, fn) { Hooks.beforeUpdate = function(name, fn) {
Hooks.addHook.call(this, 'beforeUpdate', name, fn); return Hooks.addHook.call(this, 'beforeUpdate', name, fn);
}; };
/** /**
...@@ -238,7 +239,7 @@ Hooks.beforeUpdate = function(name, fn) { ...@@ -238,7 +239,7 @@ Hooks.beforeUpdate = function(name, fn) {
* @param {Function} fn A callback function that is called with instance, callback(err) * @param {Function} fn A callback function that is called with instance, callback(err)
*/ */
Hooks.afterUpdate = function(name, fn) { Hooks.afterUpdate = function(name, fn) {
Hooks.addHook.call(this, 'afterUpdate', name, fn); return Hooks.addHook.call(this, 'afterUpdate', name, fn);
}; };
/** /**
...@@ -247,7 +248,7 @@ Hooks.afterUpdate = function(name, fn) { ...@@ -247,7 +248,7 @@ Hooks.afterUpdate = function(name, fn) {
* @param {Function} fn A callback function that is called with instances, fields, callback(err) * @param {Function} fn A callback function that is called with instances, fields, callback(err)
*/ */
Hooks.beforeBulkCreate = function(name, fn) { Hooks.beforeBulkCreate = function(name, fn) {
Hooks.addHook.call(this, 'beforeBulkCreate', name, fn); return Hooks.addHook.call(this, 'beforeBulkCreate', name, fn);
}; };
/** /**
...@@ -256,7 +257,7 @@ Hooks.beforeBulkCreate = function(name, fn) { ...@@ -256,7 +257,7 @@ Hooks.beforeBulkCreate = function(name, fn) {
* @param {Function} fn A callback function that is called with instances, fields, callback(err) * @param {Function} fn A callback function that is called with instances, fields, callback(err)
*/ */
Hooks.afterBulkCreate = function(name, fn) { Hooks.afterBulkCreate = function(name, fn) {
Hooks.addHook.call(this, 'afterBulkCreate', name, fn); return Hooks.addHook.call(this, 'afterBulkCreate', name, fn);
}; };
/** /**
...@@ -265,7 +266,7 @@ Hooks.afterBulkCreate = function(name, fn) { ...@@ -265,7 +266,7 @@ Hooks.afterBulkCreate = function(name, fn) {
* @param {Function} fn A callback function that is called with where, callback(err) * @param {Function} fn A callback function that is called with where, callback(err)
*/ */
Hooks.beforeBulkDestroy = function(name, fn) { Hooks.beforeBulkDestroy = function(name, fn) {
Hooks.addHook.call(this, 'beforeBulkDestroy', name, fn); return Hooks.addHook.call(this, 'beforeBulkDestroy', name, fn);
}; };
/** /**
...@@ -274,7 +275,7 @@ Hooks.beforeBulkDestroy = function(name, fn) { ...@@ -274,7 +275,7 @@ Hooks.beforeBulkDestroy = function(name, fn) {
* @param {Function} fn A callback function that is called with where, callback(err) * @param {Function} fn A callback function that is called with where, callback(err)
*/ */
Hooks.afterBulkDestroy = function(name, fn) { Hooks.afterBulkDestroy = function(name, fn) {
Hooks.addHook.call(this, 'afterBulkDestroy', name, fn); return Hooks.addHook.call(this, 'afterBulkDestroy', name, fn);
}; };
/** /**
...@@ -283,7 +284,7 @@ Hooks.afterBulkDestroy = function(name, fn) { ...@@ -283,7 +284,7 @@ Hooks.afterBulkDestroy = function(name, fn) {
* @param {Function} fn A callback function that is called with attribute, where, callback(err) * @param {Function} fn A callback function that is called with attribute, where, callback(err)
*/ */
Hooks.beforeBulkUpdate = function(name, fn) { Hooks.beforeBulkUpdate = function(name, fn) {
Hooks.addHook.call(this, 'beforeBulkUpdate', name, fn); return Hooks.addHook.call(this, 'beforeBulkUpdate', name, fn);
}; };
/** /**
...@@ -292,5 +293,5 @@ Hooks.beforeBulkUpdate = function(name, fn) { ...@@ -292,5 +293,5 @@ Hooks.beforeBulkUpdate = function(name, fn) {
* @param {Function} fn A callback function that is called with attribute, where, callback(err) * @param {Function} fn A callback function that is called with attribute, where, callback(err)
*/ */
Hooks.afterBulkUpdate = function(name, fn) { Hooks.afterBulkUpdate = function(name, fn) {
Hooks.addHook.call(this, 'afterBulkUpdate', name, fn); return Hooks.addHook.call(this, 'afterBulkUpdate', name, fn);
}; };
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!