diff --git a/apps/OpenSign/src/json/plansArr.js b/apps/OpenSign/src/json/plansArr.js index d8df24bd0..abcda1c95 100644 --- a/apps/OpenSign/src/json/plansArr.js +++ b/apps/OpenSign/src/json/plansArr.js @@ -27,7 +27,6 @@ const plans = [ "Decline document support", "Email notifications", "Recipient authentication using OTP", - "Bulk send (upto 5 docs)", "Public profiles", "And much more" ], @@ -46,7 +45,6 @@ const plans = [ "Decline document support", "Email notifications", "Recipient authentication using OTP", - "Bulk send (upto 5 docs)", "Public profiles", "And much more" ] @@ -77,10 +75,10 @@ const plans = [ "Webhooks", "Zapier integration", "API Access", - "100 API signatures included", + "upto 100 API signatures", "Custom email templates", "Auto reminders", - "Bulk send (upto 20 docs)", + "Bulk send (upto 100 docs)", "Premium Public profile usernames", "Embedding (coming soon)" ], @@ -92,10 +90,10 @@ const plans = [ "Webhooks", "Zapier integration", "API Access", - "240 API signatures included", + "upto 240 API signatures", "Custom email templates", "Auto reminders", - "Bulk send (upto 20 docs)", + "Bulk send (upto 240 docs)", "Premium Public profile usernames", "Embedding (coming soon)" ] @@ -118,23 +116,23 @@ const plans = [ target: "_self", benefits: [ "Everything in OpenSign™ professional", - "100 API signatures included", + "upto 100 API signatures", "Teams and Organizations", "Share Templates with teams", "Share Templates with individuals", "DocumentId removal from signed docs", - "Bulk send (upto 50 docs)", + "Bulk send (upto 100 docs)", "Request Payments (coming soon)", "Mobile app (coming soon)" ], yearlyBenefits: [ "Everything in OpenSign™ professional", - "500 API signatures included", + "upto 500 API signatures", "Teams and Organizations", "Share Templates with teams", "Share Templates with individuals", "DocumentId removal from signed docs", - "Bulk send (upto 50 docs)", + "Bulk send (upto 500 docs)", "Request Payments (coming soon)", "Mobile app (coming soon)" ] diff --git a/apps/OpenSignServer/cloud/customRoute/saveSubscription.js b/apps/OpenSignServer/cloud/customRoute/saveSubscription.js index 136cf39ee..31b14503e 100644 --- a/apps/OpenSignServer/cloud/customRoute/saveSubscription.js +++ b/apps/OpenSignServer/cloud/customRoute/saveSubscription.js @@ -55,9 +55,24 @@ export default async function saveSubscription(request, response) { if (existAddon > 0) { updateSubscription.set('AllowedUsers', parseInt(existAddon)); } - if (credits > 0) { - updateSubscription.set('AllowedCredits', credits); + const isSameAsPrevPlan = subscription?.get('PlanCode') === planCode; + if (isSameAsPrevPlan) { + const planCredits = subscription?.get('PlanCredits'); + if (planCredits) { + updateSubscription.set('AllowedCredits', planCredits); + } else { + if (credits > 0) { + updateSubscription.set('AllowedCredits', credits); + updateSubscription.set('PlanCredits', credits); + } + } + } else { + if (credits > 0) { + updateSubscription.set('AllowedCredits', credits); + updateSubscription.set('PlanCredits', credits); + } } + await updateSubscription.save(null, { useMasterKey: true }); return response.status(200).json({ status: 'update subscription!' }); } else { diff --git a/apps/OpenSignServer/cloud/parsefunction/SubscribeFree.js b/apps/OpenSignServer/cloud/parsefunction/SubscribeFree.js index bd85303b2..49bad4060 100644 --- a/apps/OpenSignServer/cloud/parsefunction/SubscribeFree.js +++ b/apps/OpenSignServer/cloud/parsefunction/SubscribeFree.js @@ -22,6 +22,7 @@ export default async function SubscribeFree(request) { updateSubscription.id = subcripitions.id; updateSubscription.set('PlanCode', 'freeplan'); updateSubscription.set('AllowedCredits', 0); + updateSubscription.set('PlanCredits', 0); await updateSubscription.save(null, { useMasterKey: true }); return { status: 'success', result: 'subscribed!' }; } catch (err) { @@ -36,6 +37,7 @@ export default async function SubscribeFree(request) { updateSubscription.id = subcripitions.id; updateSubscription.set('PlanCode', 'freeplan'); updateSubscription.set('AllowedCredits', 0); + updateSubscription.set('PlanCredits', 0); await updateSubscription.save(null, { useMasterKey: true }); return { status: 'success', result: 'subscribed!' }; } catch (err) { @@ -64,6 +66,7 @@ export default async function SubscribeFree(request) { }); } createSubscription.set('AllowedCredits', 0); + createSubscription.set('PlanCredits', 0); await createSubscription.save(null, { useMasterKey: true }); return { status: 'success', result: 'subscribed!' }; } catch (err) { diff --git a/apps/OpenSignServer/cloud/parsefunction/saveSubscription.js b/apps/OpenSignServer/cloud/parsefunction/saveSubscription.js index c4db8fb16..2eef1d220 100644 --- a/apps/OpenSignServer/cloud/parsefunction/saveSubscription.js +++ b/apps/OpenSignServer/cloud/parsefunction/saveSubscription.js @@ -70,9 +70,24 @@ export default async function saveSubscription(request) { if (existAddon > 0) { updateSubscription.set('AllowedUsers', parseInt(existAddon)); } - if (credits > 0) { - updateSubscription.set('AllowedCredits', credits); + const isSameAsPrevPlan = subscription?.get('PlanCode') === planCode; + if (isSameAsPrevPlan) { + const planCredits = subscription?.get('PlanCredits'); + if (planCredits) { + updateSubscription.set('AllowedCredits', planCredits); + } else { + if (credits > 0) { + updateSubscription.set('AllowedCredits', credits); + updateSubscription.set('PlanCredits', credits); + } + } + } else { + if (credits > 0) { + updateSubscription.set('AllowedCredits', credits); + updateSubscription.set('PlanCredits', credits); + } } + await updateSubscription.save(null, { useMasterKey: true }); return { status: 'update subscription!' }; } else { @@ -101,6 +116,7 @@ export default async function saveSubscription(request) { } if (credits > 0) { createSubscription.set('AllowedCredits', credits); + createSubscription.set('PlanCredits', credits); } await createSubscription.save(null, { useMasterKey: true }); return { status: 'create subscription!' }; diff --git a/apps/OpenSignServer/cloud/parsefunction/usersignup.js b/apps/OpenSignServer/cloud/parsefunction/usersignup.js index 1f072f5fb..44f9665b4 100644 --- a/apps/OpenSignServer/cloud/parsefunction/usersignup.js +++ b/apps/OpenSignServer/cloud/parsefunction/usersignup.js @@ -160,6 +160,7 @@ async function saveSubscription(extUserId, UserId, tenantId, subscription) { createSubscription.set('PlanCode', planCode); if (credits > 0) { createSubscription.set('AllowedCredits', credits); + createSubscription.set('PlanCredits', credits); } await createSubscription.save(null, { useMasterKey: true }); } catch (err) {