mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
transactions
This commit is contained in:
parent
1fc0fa3bc1
commit
e62f3fd6cb
@ -479,23 +479,39 @@ export class UserResolver {
|
|||||||
loginUser.privKey = encryptedPrivkey
|
loginUser.privKey = encryptedPrivkey
|
||||||
dbUser.pubkey = keyPair[0]
|
dbUser.pubkey = keyPair[0]
|
||||||
|
|
||||||
// Save loginUser
|
|
||||||
// TODO transaction
|
|
||||||
await loginUser.save()
|
|
||||||
|
|
||||||
// Save user
|
|
||||||
// TODO transaction
|
|
||||||
await dbUser.save()
|
|
||||||
|
|
||||||
// Sign into Klicktipp
|
// Sign into Klicktipp
|
||||||
// TODO do we always signUp the user? How to handle things with old users?
|
// TODO do we always signUp the user? How to handle things with old users?
|
||||||
if (optInCode.emailOptInTypeId === EMAIL_OPT_IN_REGISTER) {
|
if (optInCode.emailOptInTypeId === EMAIL_OPT_IN_REGISTER) {
|
||||||
await signIn(loginUser.email, loginUser.language, loginUser.firstName, loginUser.lastName)
|
await signIn(loginUser.email, loginUser.language, loginUser.firstName, loginUser.lastName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const queryRunner = getConnection().createQueryRunner()
|
||||||
|
await queryRunner.connect()
|
||||||
|
await queryRunner.startTransaction('READ UNCOMMITTED')
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Save loginUser
|
||||||
|
await queryRunner.manager.save(loginUser).catch((error) => {
|
||||||
|
throw new Error('error saving loginUser: ' + error)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Save user
|
||||||
|
await queryRunner.manager.save(dbUser).catch((error) => {
|
||||||
|
throw new Error('error saving user: ' + error)
|
||||||
|
})
|
||||||
|
|
||||||
// Delete Code
|
// Delete Code
|
||||||
// TODO transaction
|
await queryRunner.manager.remove(optInCode).catch((error) => {
|
||||||
await optInCode.remove()
|
throw new Error('error deleting code: ' + error)
|
||||||
|
})
|
||||||
|
|
||||||
|
await queryRunner.commitTransaction()
|
||||||
|
} catch (e) {
|
||||||
|
await queryRunner.rollbackTransaction()
|
||||||
|
throw e
|
||||||
|
} finally {
|
||||||
|
await queryRunner.release()
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user