diff --git a/src/groups.js b/src/groups.js index c4d512448..989cceae5 100644 --- a/src/groups.js +++ b/src/groups.js @@ -24,6 +24,7 @@ var assert = require('assert'), constants = require('./constants.js'), DatabaseError = require('./databaseerror.js'), groupdb = require('./groupdb.js'), + mailboxdb = require('./mailboxdb.js'), util = require('util'), uuid = require('uuid'); @@ -99,11 +100,15 @@ function remove(id, callback) { // never allow admin group to be deleted if (id === constants.ADMIN_GROUP_ID) return callback(new GroupError(GroupError.NOT_ALLOWED)); - groupdb.del(id, function (error) { - if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new GroupError(GroupError.NOT_FOUND)); + mailboxdb.delByOwnerId(id, function (error) { if (error) return callback(new GroupError(GroupError.INTERNAL_ERROR, error)); - callback(null); + groupdb.del(id, function (error) { + if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new GroupError(GroupError.NOT_FOUND)); + if (error) return callback(new GroupError(GroupError.INTERNAL_ERROR, error)); + + callback(null); + }); }); }