refactor: add loader in for free subscription

This commit is contained in:
prafull-opensignlabs
2024-03-31 09:08:27 +05:30
parent 741f66b019
commit 5930fd940d
2 changed files with 33 additions and 15 deletions
+19 -4
View File
@@ -45,10 +45,25 @@ const PlanSubscriptions = () => {
}, []);
const handleFreePlan = async () => {
const params = { userId: Parse.User.current().id };
const res = await Parse.Cloud.run("freesubscription", params);
if (res.status === "success") {
navigate("/");
setIsLoader(true);
try {
const params = { userId: Parse.User.current().id };
const res = await Parse.Cloud.run("freesubscription", params);
console.log("res.result ", res.result);
if (res.status === "success" && res.result === "already subscribed!") {
setIsLoader(false);
alert("You have already subscription of free plan");
} else if (res.status === "success") {
setIsLoader(false);
navigate("/");
} else if (res.status === "error") {
setIsLoader(false);
alert(res.result);
}
} catch (err) {
setIsLoader(false);
console.log("err in free subscribe", err.message);
alert("Somenthing went wrong, please try again later!");
}
};
return (
@@ -5,17 +5,20 @@ export default async function SubscribeFree(request) {
const extQuery = new Parse.Query('contracts_Users');
extQuery.equalTo('UserId', userPtr);
const extUser = await extQuery.first({ useMasterKey: true });
if (extUser && extUser?.Next_billing_date < new Date()) {
try {
const extUpdate = new Parse.Object('contracts_Users');
extUpdate.id = extUser.id;
extUpdate.set('Plan', { plan_code: 'freeplan' });
const updatePlan = await extUpdate.save(null, { useMasterKey: true });
return { status: 'success', result: 'subscribed!' };
} catch (err) {
console.log('err ', err);
return { status: 'error', result: err.message };
if (extUser) {
if (extUser?.get('Plan')?.plan_code === 'freeplan') {
return { status: 'success', result: 'already subscribed!' };
} else if (extUser?.get('Next_billing_date') < new Date()) {
try {
const extUpdate = new Parse.Object('contracts_Users');
extUpdate.id = extUser.id;
extUpdate.set('Plan', { plan_code: 'freeplan' });
const updatePlan = await extUpdate.save(null, { useMasterKey: true });
return { status: 'success', result: 'subscribed!' };
} catch (err) {
console.log('err ', err);
return { status: 'error', result: err.message };
}
}
} else {
return { status: 'error', result: 'User not found!' };