clear sessionID from URL after verification

This commit is contained in:
Abhinav-grd 2021-04-20 15:13:38 +05:30
parent 23e86be77d
commit 75a89b1d6f
2 changed files with 32 additions and 24 deletions

View file

@ -199,7 +199,7 @@ export default function Gallery(props: Props) {
setCollectionAndItsLatestFile(collectionAndItsLatestFile);
const favItemIds = await getFavItemIds(data);
setFavItemIds(favItemIds);
await checkSubscriptionPurchase(setDialogMessage);
await checkSubscriptionPurchase(setDialogMessage, router);
await syncWithRemote();
setIsFirstLoad(false);
};

View file

@ -9,6 +9,7 @@ import billingService, {
import { SUBSCRIPTION_VERIFICATION_ERROR } from './common/errorUtil';
import { getData, LS_KEYS } from './storage/localStorage';
import { MessageAttributes } from 'components/MessageDialog';
import { NextRouter } from 'next/router';
export function convertBytesToGBs(bytes, precision?): string {
return (bytes / (1024 * 1024 * 1024)).toFixed(precision ?? 2);
@ -161,32 +162,39 @@ export async function updatePaymentMethod(event, setDialogMessage, setLoading) {
}
export async function checkSubscriptionPurchase(
setDialogMessage: React.Dispatch<React.SetStateAction<MessageAttributes>>
setDialogMessage: React.Dispatch<React.SetStateAction<MessageAttributes>>,
router: NextRouter
) {
const urlParams = new URLSearchParams(window.location.search);
const sessionId = urlParams.get('session_id');
if (sessionId === '-1') {
setDialogMessage({
title: constants.SUBSCRIPTION_PURCHASE_CANCELLED,
close: { variant: 'danger' },
});
} else if (sessionId) {
try {
const subscription = await billingService.verifySubscription(
sessionId
);
try {
const urlParams = new URLSearchParams(window.location.search);
const sessionId = urlParams.get('session_id');
if (sessionId === '-1') {
setDialogMessage({
title: constants.SUBSCRIPTION_PURCHASE_SUCCESS_TITLE,
close: { variant: 'success' },
content: constants.SUBSCRIPTION_PURCHASE_SUCCESS(
subscription?.expiryTime
),
});
} catch (e) {
setDialogMessage({
title: SUBSCRIPTION_VERIFICATION_ERROR,
close: {},
title: constants.SUBSCRIPTION_PURCHASE_CANCELLED,
close: { variant: 'danger' },
});
} else if (sessionId) {
try {
const subscription = await billingService.verifySubscription(
sessionId
);
setDialogMessage({
title: constants.SUBSCRIPTION_PURCHASE_SUCCESS_TITLE,
close: { variant: 'success' },
content: constants.SUBSCRIPTION_PURCHASE_SUCCESS(
subscription?.expiryTime
),
});
} catch (e) {
setDialogMessage({
title: SUBSCRIPTION_VERIFICATION_ERROR,
close: {},
});
}
}
} catch (e) {
//ignore
} finally {
router.push('gallery', undefined, { shallow: true });
}
}