beginning of #98, new multistep wizard, db creation after user enters username and password

This commit is contained in:
azivner
2018-07-21 08:55:24 +02:00
parent 3972c27e7a
commit 6235a3c886
8 changed files with 167 additions and 90 deletions

View File

@@ -1,25 +1,11 @@
"use strict";
const optionService = require('../../services/options');
const sqlInit = require('../../services/sql_init');
const utils = require('../../services/utils');
const myScryptService = require('../../services/my_scrypt');
const passwordEncryptionService = require('../../services/password_encryption');
async function setup(req) {
const { username, password } = req.body;
await optionService.setOption('username', username);
await optionService.setOption('passwordVerificationSalt', utils.randomSecureToken(32));
await optionService.setOption('passwordDerivedKeySalt', utils.randomSecureToken(32));
const passwordVerificationKey = utils.toBase64(await myScryptService.getVerificationHash(password));
await optionService.setOption('passwordVerificationHash', passwordVerificationKey);
await passwordEncryptionService.setDataKey(password, utils.randomSecureToken(16));
sqlInit.setDbReadyAsResolved();
await sqlInit.createInitialDatabase(username, password);
}
module.exports = {