diff --git a/src/lib/stores/billing.ts b/src/lib/stores/billing.ts index b79693b10a..16049d2651 100644 --- a/src/lib/stores/billing.ts +++ b/src/lib/stores/billing.ts @@ -183,18 +183,24 @@ export function checkForTrialEnding(org: Organization) { } } -export function checkForUsageLimit(org: Organization) { +export async function checkForUsageLimit(org: Organization) { if (!org?.billingLimits) { readOnly.set(false); return; } - const { bandwidth, documents, executions, storage, users } = org.billingLimits; + const { bandwidth, documents, executions, storage, users } = org?.billingLimits ?? {}; + const members = await sdk.forConsole.teams.listMemberships(org.$id); + const plan = get(plansInfo).plans.find((plan) => plan.$id === org.billingPlan); + const membersOverflow = + members?.total > plan.members ? members.total - (plan.members || members.total) : 0; + if ( bandwidth >= 100 || documents >= 100 || executions >= 100 || storage >= 100 || - users >= 100 + users >= 100 || + membersOverflow > 0 ) { readOnly.set(true); } else readOnly.set(false); diff --git a/src/routes/console/+layout.svelte b/src/routes/console/+layout.svelte index 479647d182..4035a9a317 100644 --- a/src/routes/console/+layout.svelte +++ b/src/routes/console/+layout.svelte @@ -284,7 +284,7 @@ calculateTrialDay(org); checkForTrialEnding(org); await paymentExpired(org); - checkForUsageLimit(org); + await checkForUsageLimit(org); checkForMarkedForDeletion(org); await checkPaymentAuthorizationRequired(org); } diff --git a/src/routes/console/changeOrganizationTierCloud.svelte b/src/routes/console/changeOrganizationTierCloud.svelte index 64afb5bc2b..56374d08dd 100644 --- a/src/routes/console/changeOrganizationTierCloud.svelte +++ b/src/routes/console/changeOrganizationTierCloud.svelte @@ -61,7 +61,6 @@ wizard.hide(); trackEvent(Submit.OrganizationDowngrade, { - customId: !!$changeOrganizationTier.id, plan: tierToPlan($changeOrganizationTier.billingPlan)?.name }); } catch (e) { @@ -144,7 +143,6 @@ }); } trackEvent($isUpgrade ? Submit.OrganizationUpgrade : Submit.OrganizationDowngrade, { - customId: !!$changeOrganizationTier.id, plan: tierToPlan($changeOrganizationTier.billingPlan)?.name }); wizard.hide(); @@ -164,7 +162,6 @@ onDestroy(() => { $changeOrganizationTier = { - id: null, billingPlan: 'tier-1', paymentMethodId: null, collaborators: [], diff --git a/src/routes/console/wizard/cloudOrganizationChangeTier/choosePlan.svelte b/src/routes/console/wizard/cloudOrganizationChangeTier/choosePlan.svelte index 64d01a71c7..058651b907 100644 --- a/src/routes/console/wizard/cloudOrganizationChangeTier/choosePlan.svelte +++ b/src/routes/console/wizard/cloudOrganizationChangeTier/choosePlan.svelte @@ -57,11 +57,12 @@ members: members.total > plan.members ? members.total - (plan.members || Infinity) : 0 }; if ( - $changeOrganizationTier.limitOverflow.bandwidth > 0 || - $changeOrganizationTier.limitOverflow.storage > 0 || - $changeOrganizationTier.limitOverflow.users > 0 || - $changeOrganizationTier.limitOverflow.executions > 0 || - $changeOrganizationTier.limitOverflow.members > 0 + ($changeOrganizationTier.limitOverflow.bandwidth > 0 || + $changeOrganizationTier.limitOverflow.storage > 0 || + $changeOrganizationTier.limitOverflow.users > 0 || + $changeOrganizationTier.limitOverflow.executions > 0 || + $changeOrganizationTier.limitOverflow.members > 0) && + $changeOrganizationTier.billingPlan === 'tier-0' ) { $changeOrganizationTier.isOverLimit = true; $changeTierSteps = updateStepStatus($changeTierSteps, 5, false); diff --git a/src/routes/console/wizard/cloudOrganizationChangeTier/confirmDetails.svelte b/src/routes/console/wizard/cloudOrganizationChangeTier/confirmDetails.svelte index 03e529630a..f6095b62f4 100644 --- a/src/routes/console/wizard/cloudOrganizationChangeTier/confirmDetails.svelte +++ b/src/routes/console/wizard/cloudOrganizationChangeTier/confirmDetails.svelte @@ -1,7 +1,6 @@