For new cloudrons this will first remove the previously added group and mailbox entry from the db migration scripts and readds it once we have a domain on owner creation
30 lines
822 B
JavaScript
30 lines
822 B
JavaScript
'use strict';
|
|
|
|
var async = require('async');
|
|
|
|
var ADMIN_GROUP_ID = 'admin'; // see constants.js
|
|
|
|
exports.up = function(db, callback) {
|
|
async.series([
|
|
db.runSql.bind(db, 'START TRANSACTION;'),
|
|
db.runSql.bind(db, 'INSERT INTO groups (id, name) VALUES (?, ?)', [ ADMIN_GROUP_ID, 'admin' ]),
|
|
function migrateAdminFlag(done) {
|
|
db.all('SELECT * FROM users WHERE admin=1', function (error, results) {
|
|
if (error) return done(error);
|
|
|
|
console.dir(results);
|
|
|
|
async.eachSeries(results, function (r, next) {
|
|
db.runSql('INSERT INTO groupMembers (groupId, userId) VALUES (?, ?)', [ ADMIN_GROUP_ID, r.id ], next);
|
|
}, done);
|
|
});
|
|
},
|
|
db.runSql.bind(db, 'ALTER TABLE users DROP COLUMN admin'),
|
|
db.runSql.bind(db, 'COMMIT')
|
|
], callback);
|
|
};
|
|
|
|
exports.down = function(db, callback) {
|
|
callback();
|
|
};
|