fix: add user is not working

This commit is contained in:
prafull-opensignlabs
2024-08-14 20:09:19 +05:30
parent 862dd78cd5
commit 4d5682e79b
7 changed files with 320 additions and 243 deletions
@@ -8,7 +8,7 @@ export default async function saveSubscription(request) {
const body = subscription;
const Next_billing_date = subscription.data.subscription.next_billing_at;
const planCode = subscription.data.subscription.plan.plan_code;
let existAddon = 0;
try {
const userRes = await axios.get(serverUrl + '/users/me', {
headers: {
@@ -33,7 +33,32 @@ export default async function saveSubscription(request) {
});
const resSubscription = await subcriptionCls.first({ useMasterKey: true });
const addons = subscription?.data?.subscription?.addons || [];
const existAddon = addons.reduce((acc, curr) => acc + curr.quantity, 1);
if (addons?.length > 0) {
let allowedUsersMonthly = 0;
let allowedUsersYearly = 0;
addons?.forEach(item => {
if (item.addon_code === 'extra-teams-users-monthly') {
allowedUsersMonthly += item.quantity;
} else if (item.addon_code === 'extra-teams-users-yearly') {
allowedUsersYearly += item.quantity;
} else if (item.addon_code === 'extra-users') {
allowedUsersMonthly += item.quantity;
}
});
if (allowedUsersMonthly > 0 || allowedUsersYearly > 0) {
existAddon = allowedUsersMonthly + allowedUsersYearly + 1;
}
} else {
if (
planCode === 'teams-yearly' ||
planCode === 'teams-monthly' ||
planCode === 'team-weekly'
) {
existAddon = 1;
}
}
// const existAddon = addons.reduce((acc, curr) => acc + curr.quantity, 1);
if (resSubscription) {
const updateSubscription = new Parse.Object('contracts_Subscriptions');
updateSubscription.id = resSubscription.id;
@@ -41,7 +66,9 @@ export default async function saveSubscription(request) {
updateSubscription.set('SubscriptionDetails', body);
updateSubscription.set('Next_billing_date', new Date(Next_billing_date));
updateSubscription.set('PlanCode', planCode);
updateSubscription.set('AllowedUsers', parseInt(existAddon));
if (existAddon > 0) {
updateSubscription.set('AllowedUsers', parseInt(existAddon));
}
await updateSubscription.save(null, { useMasterKey: true });
return { status: 'update subscription!' };
} else {
@@ -65,7 +92,9 @@ export default async function saveSubscription(request) {
});
createSubscription.set('Next_billing_date', new Date(Next_billing_date));
createSubscription.set('PlanCode', planCode);
createSubscription.set('AllowedUsers', parseInt(existAddon));
if (existAddon > 0) {
createSubscription.set('AllowedUsers', parseInt(existAddon));
}
await createSubscription.save(null, { useMasterKey: true });
return { status: 'create subscription!' };
}