diff --git a/website/src/controllers/groups.js b/website/src/controllers/groups.js index 6ce43e2be3..cdfbf3b80e 100644 --- a/website/src/controllers/groups.js +++ b/website/src/controllers/groups.js @@ -192,6 +192,7 @@ api.create = function(req, res, next) { function(cb){user.save(cb)}, function(saved,ct,cb){group.save(cb)}, function(saved,ct,cb){ + firebase.updateGroupData(saved); firebase.addUserToGroup(saved._id, user._id); saved.populate('members', nameFields, cb); } @@ -211,6 +212,7 @@ api.create = function(req, res, next) { group.save(cb); }, function(saved, count, cb){ + firebase.updateGroupData(saved); firebase.addUserToGroup(saved._id, user._id); saved.populate('members', nameFields, cb); } @@ -236,6 +238,8 @@ api.update = function(req, res, next) { group.save(function(err, saved){ if (err) return next(err); + + firebase.updateGroupData(saved); res.send(204); }); } diff --git a/website/src/libs/firebase.js b/website/src/libs/firebase.js index 1a4155ee9f..40125ac274 100644 --- a/website/src/libs/firebase.js +++ b/website/src/libs/firebase.js @@ -16,6 +16,16 @@ if(isProd){ var api = module.exports = {}; +api.updateGroupData = function(group){ + if(!isProd) return; + if(!group) throw new Error('group is required.'); + + firebaseRef.child('rooms/' + group._id) + .set({ + name: group.name + }); +}; + api.addUserToGroup = function(groupId, userId){ if(!isProd) return; // TODO is throw ok? we don't have callbacks @@ -39,12 +49,15 @@ api.removeUserFromGroup = function(groupId, userId){ .remove(); }; -// FIXME not really necessary as long as we only store room data, -// as empty objects are automatically deleted (/members/... in future...) api.deleteGroup = function(groupId){ if(!isProd) return; - if(!groupId) throw new Error('groupId is required.'); + if(!groupId) throw new Error('groupId is required.');7 + firebaseRef.child('rooms/' + groupId) + .remove(); + + // FIXME not really necessary as long as we only store room data, + // as empty objects are automatically deleted (/members/... in future...) firebaseRef.child('members/' + groupId) .remove(); };