diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index 14b80a5ea..73d9b36be 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -192,14 +192,11 @@ export class TransactionResolver { transactionReceive.linkedUserId = senderUser.id transactionReceive.amount = amount const receiveBalance = await calculateBalance(recipientUser.id, amount, receivedCallDate) - if (!receiveBalance) { - throw new Error('Sender user account corrupted') - } - transactionReceive.balance = receiveBalance.balance + transactionReceive.balance = receiveBalance ? receiveBalance.balance : amount transactionReceive.balanceDate = receivedCallDate - transactionReceive.decay = receiveBalance.decay.decay - transactionReceive.decayStart = receiveBalance.decay.start - transactionReceive.previous = receiveBalance.lastTransactionId + transactionReceive.decay = receiveBalance ? receiveBalance.decay.decay : new Decimal(0) + transactionReceive.decayStart = receiveBalance ? receiveBalance.decay.start : null + transactionReceive.previous = receiveBalance ? receiveBalance.lastTransactionId : null transactionReceive.linkedTransactionId = transactionSend.id await queryRunner.manager.insert(dbTransaction, transactionReceive) diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 6b1e7162e..dcb3e03b6 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -592,6 +592,13 @@ export class UserResolver { } if (password && passwordNew) { + // Validate Password + if (!isPassword(passwordNew)) { + throw new Error( + 'Please enter a valid password with at least 8 characters, upper and lower case letters, at least one number and one special character!', + ) + } + // TODO: This had some error cases defined - like missing private key. This is no longer checked. const oldPasswordHash = SecretKeyCryptographyCreateKey(userEntity.email, password) if (BigInt(userEntity.password.toString()) !== oldPasswordHash[0].readBigUInt64LE()) {