optimization: always save passphrase

This commit is contained in:
Ulf Gebhardt 2021-11-01 00:12:09 +01:00
parent c4df818456
commit d4dd8e5e21
Signed by: ulfgebhardt
GPG Key ID: DA6B843E748679C9

View File

@ -120,7 +120,7 @@ const KeyPairEd25519Create = (passphrase: string[]): Buffer[] => {
return [pubKey, privKey] return [pubKey, privKey]
} }
const generateKeys = async (email: string, savePassphrase: boolean): Promise<Buffer[]> => { const generateKeys = async (email: string): Promise<Buffer[]> => {
const mNewUser = await LoginUser.findOneOrFail({ email }) const mNewUser = await LoginUser.findOneOrFail({ email })
// TODO figure mnemonic database // TODO figure mnemonic database
// const lang = mNewUser.language // const lang = mNewUser.language
@ -132,16 +132,14 @@ const generateKeys = async (email: string, savePassphrase: boolean): Promise<Buf
const passphrase = PassphraseGenerate() const passphrase = PassphraseGenerate()
if (savePassphrase) { const loginUserBackup = new LoginUserBackup()
const loginUserBackup = new LoginUserBackup() loginUserBackup.userId = mNewUser.id
loginUserBackup.userId = mNewUser.id loginUserBackup.passphrase = passphrase.join(' ')
loginUserBackup.passphrase = passphrase.join(' ') loginUserBackup.mnemonicType = 2 // ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER;
loginUserBackup.mnemonicType = 2 // ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER;
await loginUserBackup.save().catch(() => { await loginUserBackup.save().catch(() => {
throw new Error('insert user backup failed') throw new Error('insert user backup failed')
}) })
}
// keys // keys
const gradidoKeyPair = KeyPairEd25519Create(passphrase) const gradidoKeyPair = KeyPairEd25519Create(passphrase)
@ -301,7 +299,7 @@ export class UserResolver {
throw new Error('insert user failed') throw new Error('insert user failed')
}) })
const keys = await generateKeys(email, true) const keys = await generateKeys(email)
const pubkey = keys[0] const pubkey = keys[0]
// TODO: we do not login the user as before, since session management is not yet ported // TODO: we do not login the user as before, since session management is not yet ported