Add routes to change the mailbox and list owner

This commit is contained in:
Girish Ramakrishnan
2018-04-03 14:12:43 -07:00
parent a1f4a4d614
commit f8a731f63a
4 changed files with 78 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ exports = module.exports = {
removeMailboxes: removeMailboxes,
getMailbox: getMailbox,
addMailbox: addMailbox,
updateMailbox: updateMailbox,
removeMailbox: removeMailbox,
listAliases: listAliases,
@@ -34,6 +35,7 @@ exports = module.exports = {
getLists: getLists,
getList: getList,
addList: addList,
updateList: updateList,
removeList: removeList,
_readDkimPublicKeySync: readDkimPublicKeySync,
@@ -910,6 +912,20 @@ function addMailbox(name, domain, userId, callback) {
});
}
function updateMailbox(name, domain, userId, callback) {
assert.strictEqual(typeof name, 'string');
assert.strictEqual(typeof domain, 'string');
assert.strictEqual(typeof userId, 'string');
assert.strictEqual(typeof callback, 'function');
mailboxdb.update(name, domain, userId, mailboxdb.TYPE_USER, function (error) {
if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new MailError(MailError.NOT_FOUND, 'no such mailbox'));
if (error) return callback(new MailError(MailError.INTERNAL_ERROR, error));
callback(null);
});
}
function removeMailbox(name, domain, callback) {
assert.strictEqual(typeof domain, 'string');
assert.strictEqual(typeof name, 'string');
@@ -1018,6 +1034,20 @@ function addList(domain, listName, groupId, callback) {
});
}
function updateList(name, domain, groupId, callback) {
assert.strictEqual(typeof name, 'string');
assert.strictEqual(typeof domain, 'string');
assert.strictEqual(typeof groupId, 'string');
assert.strictEqual(typeof callback, 'function');
mailboxdb.update(name, domain, groupId, mailboxdb.TYPE_GROUP, function (error) {
if (error && error.reason === DatabaseError.NOT_FOUND) return callback(new MailError(MailError.NOT_FOUND, 'no such mailbox'));
if (error) return callback(new MailError(MailError.INTERNAL_ERROR, error));
callback(null);
});
}
function removeList(domain, listName, callback) {
assert.strictEqual(typeof domain, 'string');
assert.strictEqual(typeof listName, 'string');