Merge pull request #1893 from ether/fix/api/cginef-endpoint

API: fix createGroup for mapper endpoint for in case the group is deleted
pull/1515/merge
Marcel Klehr 2013-09-19 06:16:17 -07:00
commit c095c60284
1 changed files with 17 additions and 10 deletions

View File

@ -215,25 +215,32 @@ exports.createGroupIfNotExistsFor = function(groupMapper, callback)
{ {
if(ERR(err, callback)) return; if(ERR(err, callback)) return;
// there is a group for this mapper
if(groupID) {
exports.doesGroupExist(groupID, function(err, exists) {
if(ERR(err, callback)) return;
if(exists) return callback(null, {groupID: groupID});
// hah, the returned group doesn't exist, let's create one
createGroupForMapper(callback)
})
}
//there is no group for this mapper, let's create a group //there is no group for this mapper, let's create a group
if(groupID == null) else {
{ createGroupForMapper(callback)
}
function createGroupForMapper(cb) {
exports.createGroup(function(err, responseObj) exports.createGroup(function(err, responseObj)
{ {
if(ERR(err, callback)) return; if(ERR(err, cb)) return;
//create the mapper entry for this group //create the mapper entry for this group
db.set("mapper2group:"+groupMapper, responseObj.groupID); db.set("mapper2group:"+groupMapper, responseObj.groupID);
callback(null, responseObj); cb(null, responseObj);
}); });
} }
//there is a group for this mapper, let's return it
else
{
if(ERR(err, callback)) return;
callback(null, {groupID: groupID});
}
}); });
} }