From cafbb31e787fdc312c04d80f7121e754d8d4c0d7 Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Sat, 28 May 2016 00:05:54 -0700 Subject: [PATCH] push aliases to mail container on startup --- src/mailboxes.js | 24 ++++++++++++++++++++++++ src/platform.js | 9 ++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/mailboxes.js b/src/mailboxes.js index 793d786a7..95c522223 100644 --- a/src/mailboxes.js +++ b/src/mailboxes.js @@ -8,10 +8,13 @@ exports = module.exports = { setAliases: setAliases, getAliases: getAliases, + setupAliases: setupAliases, + MailboxError: MailboxError }; var assert = require('assert'), + async = require('async'), DatabaseError = require('./databaseerror.js'), docker = require('./docker.js'), mailboxdb = require('./mailboxdb.js'), @@ -162,3 +165,24 @@ function getAliases(name, callback) { callback(null, aliases); }); } + +// push aliases to the mail container on startup +function setupAliases(callback) { + assert.strictEqual(typeof callback, 'function'); + + getAll(function (error, mailboxes) { + if (error) return callback(error); + + async.each(mailboxes, function iteratorDone(mailbox) { + console.log('why am i here????', mailbox); + getAliases(mailbox.name, function (error, aliases) { + if (error) return iteratorDone(error); + + if (aliases.length === 0) return iteratorDone(); + + pushAlias(mailbox.name, aliases, iteratorDone); + }); + }, callback) + }); +} + diff --git a/src/platform.js b/src/platform.js index 4286de739..f38d080ac 100644 --- a/src/platform.js +++ b/src/platform.js @@ -14,6 +14,7 @@ var apps = require('./apps.js'), fs = require('fs'), infra = require('./infra_version.js'), ini = require('ini'), + mailboxes = require('./mailboxes.js'), path = require('path'), paths = require('./paths.js'), safe = require('safetydance'), @@ -54,11 +55,13 @@ function initialize(callback) { func(function (error) { if (error) return callback(error); - fs.writeFileSync(paths.INFRA_VERSION_FILE, JSON.stringify(infra)); - loadAddonVarsSync(); - callback(); + mailboxes.setupAliases(function (error) { + if (error) return callback(error); + + fs.writeFile(paths.INFRA_VERSION_FILE, JSON.stringify(infra), callback); + }); }); }); }