fix issue where subs would be applied multiple times

This commit is contained in:
Phillip Thelen
2022-11-02 16:36:09 +01:00
committed by Phillip Thelen
parent cf75d941fa
commit 0dd25b6431
2 changed files with 68 additions and 18 deletions

View File

@@ -124,12 +124,16 @@ api.subscribe = async function subscribe (sku, user, receipt, headers, nextPayme
throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED);
}
existingSub = shared.content.subscriptionBlocks[user.purchased.plan.planId];
if (existingSub === sub) {
throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED);
}
}
const existingUser = await User.findOne({
'purchased.plan.customerId': originalTransactionId,
}).exec();
if (existingUser
&& (originalTransactionId === newTransactionId || existingUser._id !== user._id)) {
&& (originalTransactionId === newTransactionId
|| existingUser._id !== user._id)) {
throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED);
}