diff --git a/lib/cartodb/backends/template_maps.js b/lib/cartodb/backends/template_maps.js index 4175eba1..4f100a4f 100644 --- a/lib/cartodb/backends/template_maps.js +++ b/lib/cartodb/backends/template_maps.js @@ -206,23 +206,28 @@ TemplateMaps.prototype.addTemplate = function(owner, template, callback) { } self._redisCmd('HLEN', [ userTemplatesKey ], (err, numberOfTemplates) => { - assert.ifError(err); + if (err) { + return callback(err); + } + if ( limit && numberOfTemplates >= limit ) { - var limitReachedError = new Error("User '" + owner + "' reached limit on number of templates (" + - numberOfTemplates + "/" + limit + ")"); + var limitReachedError = new Error( + `User '${owner}' reached limit on number of templates (${numberOfTemplates}/${limit})` + ); limitReachedError.http_status = 409; - throw limitReachedError; + return callback(limitReachedError); } self._redisCmd('HSETNX', [ userTemplatesKey, templateName, JSON.stringify(template) ], (err, wasSet) => { - assert.ifError(err); - if ( ! wasSet ) { - throw new Error("Template '" + templateName + "' of user '" + owner + "' already exists"); + if (err) { + return callback(err); } - if (!err) { - self.emit('add', owner, templateName, template); + if (!wasSet) { + const ownerExistsError = new Error(`Template '${templateName}' of user '${owner}' already exists`); + return callback(ownerExistsError); } + self.emit('add', owner, templateName, template); callback(err, templateName, template); }); });