Make TemplateMaps to emit messages when adding/updating/deleting templates

This commit is contained in:
Raul Ochoa
2015-01-23 16:35:47 +01:00
parent 56abcfd2f4
commit f5a3b77737
+26 -2
View File
@@ -3,6 +3,11 @@ var crypto = require('crypto'),
_ = require('underscore'),
dot = require('dot');
var EventEmitter = require('events').EventEmitter;
var util = require('util');
// Class handling map templates
//
// See http://github.com/CartoDB/Windshaft-cartodb/wiki/Template-maps
@@ -16,6 +21,10 @@ var crypto = require('crypto'),
//
//
function TemplateMaps(redis_pool, opts) {
if (!(this instanceof TemplateMaps)) return new TemplateMaps();
EventEmitter.call(this);
this.redis_pool = redis_pool;
this.opts = opts || {};
@@ -42,6 +51,11 @@ function TemplateMaps(redis_pool, opts) {
this.lock_ttl = this.opts['lock_ttl'] || 5000;
}
util.inherits(TemplateMaps, EventEmitter);
module.exports = TemplateMaps;
var o = TemplateMaps.prototype;
//--------------- PRIVATE METHODS --------------------------------
@@ -193,6 +207,10 @@ o.addTemplate = function(owner, template, callback) {
return true;
},
function finish(err) {
if (!err) {
self.emit('add', owner, templateName, template);
}
callback(err, templateName, template);
}
);
@@ -223,6 +241,10 @@ o.delTemplate = function(owner, tpl_id, callback) {
return true;
},
function finish(err) {
if (!err) {
self.emit('delete', owner, tpl_id);
}
callback(err);
}
);
@@ -286,6 +308,10 @@ o.updTemplate = function(owner, tpl_id, template, callback) {
return true;
},
function finish(err) {
if (!err) {
self.emit('update', owner, templateName, template);
}
callback(err, template);
}
);
@@ -438,5 +464,3 @@ o.fingerPrint = function(template) {
.digest('hex')
;
};
module.exports = TemplateMaps;