2019-09-11 12:44:15 -07:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
var async = require('async');
|
|
|
|
|
|
|
|
|
|
// imports mailbox entries for existing users
|
|
|
|
|
exports.up = function(db, callback) {
|
|
|
|
|
db.all('SELECT * FROM mailboxes', function (error, mailboxes) {
|
|
|
|
|
async.eachSeries(mailboxes, function (mailbox, iteratorDone) {
|
|
|
|
|
if (!mailbox.membersJson) return iteratorDone();
|
|
|
|
|
|
|
|
|
|
let members = JSON.parse(mailbox.membersJson);
|
2019-12-02 15:34:23 +01:00
|
|
|
members = members.map((m) => m && m.indexOf('@') === -1 ? `${m}@${mailbox.domain}` : m); // only because we don't do things in a xction
|
2019-09-11 12:44:15 -07:00
|
|
|
|
2019-09-25 10:06:48 -07:00
|
|
|
db.runSql('UPDATE mailboxes SET membersJson=? WHERE name=? AND domain=?', [ JSON.stringify(members), mailbox.name, mailbox.domain ], iteratorDone);
|
2019-09-11 12:44:15 -07:00
|
|
|
}, callback);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
exports.down = function(db, callback) {
|
|
|
|
|
callback();
|
|
|
|
|
};
|