diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 9fab8493a..b055afb97 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -16,7 +16,6 @@ import { klicktippNewsletterStateMiddleware } from '../../middleware/klicktippMi import { UserSettingRepository } from '../../typeorm/repository/UserSettingRepository' import { Setting } from '../enum/Setting' import { UserRepository } from '../../typeorm/repository/User' -import { LoginUserBackup } from '@entity/LoginUserBackup' import { LoginEmailOptIn } from '@entity/LoginEmailOptIn' import { sendResetPasswordEmail } from '../../mailer/sendResetPasswordEmail' import { sendAccountActivationEmail } from '../../mailer/sendAccountActivationEmail' @@ -25,7 +24,7 @@ import { klicktippSignIn } from '../../apis/KlicktippController' import { RIGHTS } from '../../auth/RIGHTS' import { ServerUserRepository } from '../../typeorm/repository/ServerUser' import { ROLE_ADMIN } from '../../auth/ROLES' -import { randomBytes, randomInt } from 'crypto' +import { randomInt } from 'crypto' const EMAIL_OPT_IN_RESET_PASSWORD = 2 const EMAIL_OPT_IN_REGISTER = 1 @@ -373,6 +372,7 @@ export class UserResolver { dbUser.emailHash = emailHash dbUser.language = language dbUser.publisherId = publisherId + dbUser.passphrase = passphrase.join(' ') // TODO this is a refactor artifact and must be removed quickly dbUser.loginUserId = randomInt(9999999999) // TODO this field has no null allowed unlike the loginServer table @@ -392,18 +392,6 @@ export class UserResolver { throw new Error('error saving user') }) - // Table: login_user_backups - const loginUserBackup = new LoginUserBackup() - loginUserBackup.userId = dbUser.loginUserId - loginUserBackup.passphrase = passphrase.join(' ') // login server saves trailing space - loginUserBackup.mnemonicType = 2 // ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER; - - await queryRunner.manager.save(loginUserBackup).catch((error) => { - // eslint-disable-next-line no-console - console.log('insert LoginUserBackup failed', error) - throw new Error('insert user backup failed') - }) - // Store EmailOptIn in DB // TODO: this has duplicate code with sendResetPasswordEmail const emailOptIn = await createEmailOptIn(dbUser.loginUserId, queryRunner) @@ -536,20 +524,14 @@ export class UserResolver { throw new Error('Could not find corresponding Login User') }) - const loginUserBackupRepository = await getRepository(LoginUserBackup) - let loginUserBackup = await loginUserBackupRepository.findOne({ userId: user.loginUserId }) // Generate Passphrase if needed - if (!loginUserBackup) { + if (!user.passphrase) { const passphrase = PassphraseGenerate() - loginUserBackup = new LoginUserBackup() - loginUserBackup.userId = user.loginUserId - loginUserBackup.passphrase = passphrase.join(' ') // login server saves trailing space - loginUserBackup.mnemonicType = 2 // ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER; - loginUserBackupRepository.save(loginUserBackup) + user.passphrase = passphrase.join(' ') } - const passphrase = loginUserBackup.passphrase.split(' ') + const passphrase = user.passphrase.split(' ') if (passphrase.length < PHRASE_WORD_COUNT) { // TODO if this can happen we cannot recover from that // this seem to be good on production data, if we dont diff --git a/backend/src/typeorm/repository/LoginUserBackup.ts b/backend/src/typeorm/repository/LoginUserBackup.ts deleted file mode 100644 index a54b1e8af..000000000 --- a/backend/src/typeorm/repository/LoginUserBackup.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { EntityRepository, Repository } from '@dbTools/typeorm' -import { LoginUserBackup } from '@entity/LoginUserBackup' - -@EntityRepository(LoginUserBackup) -export class LoginUserBackupRepository extends Repository {}