manage errors
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user