forked from Strider-CD/strider-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
save-user.js
33 lines (28 loc) · 848 Bytes
/
save-user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'use strict';
module.exports = function(deps) {
var createUser = require('./create-user')(deps);
var Upgrade = deps.upgrade()
, Config = deps.models().Config
function saveUser(email, password, admin, force) {
Upgrade.isFreshDb(function (err, isFresh) {
if (isFresh) {
Upgrade.needConfigObj(function (err, needsConfig) {
if (needsConfig) {
var c = new Config();
c.version = Config.SCHEMA_VERSION;
c.save(function () {
createUser(email, password, admin, force);
});
} else {
createUser(email, password, admin, force);
}
});
} else {
Upgrade.ensure(Config.SCHEMA_VERSION, function () {
createUser(email, password, admin, force);
});
}
});
}
return saveUser;
}