From 0a07c0a4b5c7c327a1ded68a5b90e5555f998bb4 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Sat, 22 Nov 2025 07:47:45 +0000 Subject: [PATCH 1/2] use plan capabilities instead of hardcoded plan checks for backup policies --- .../databases/create.svelte | 17 +++++++++++++---- .../backups/containerHeader.svelte | 4 +--- .../backups/createPolicy.svelte | 9 ++++----- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/create.svelte b/src/routes/(console)/project-[region]-[project]/databases/create.svelte index 4c48422827..eff69547d7 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/create.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/create.svelte @@ -7,8 +7,7 @@ import { ID } from '@appwrite.io/console'; import { createEventDispatcher } from 'svelte'; import { isCloud } from '$lib/system'; - import { BillingPlan } from '$lib/constants'; - import { organization } from '$lib/stores/organization'; + import { currentPlan } from '$lib/stores/organization'; import { upgradeURL } from '$lib/stores/billing'; import CreatePolicy from './database-[database]/backups/createPolicy.svelte'; import { cronExpression, type UserBackupPolicy } from '$lib/helpers/backups'; @@ -88,7 +87,17 @@ name }); - await createPolicies(databaseId); + try { + await createPolicies(databaseId); + } catch (policyError) { + addNotification({ + type: 'warning', + message: + policyError.message || + 'Failed to create backup policies. The database was created successfully.' + }); + trackError(policyError, Submit.DatabaseCreate); + } showCreate = false; dispatch('created', database); @@ -132,7 +141,7 @@ {#if isCloud} - {#if $organization?.billingPlan === BillingPlan.FREE} + {#if !$currentPlan?.backupsEnabled} Upgrade your plan to ensure your data stays safe and backed up. diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/backups/containerHeader.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/backups/containerHeader.svelte index d340d0f75b..1ee5a6e2f1 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/backups/containerHeader.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/backups/containerHeader.svelte @@ -5,8 +5,6 @@ import { Badge, Icon, Layout, Tag, Typography } from '@appwrite.io/pink-svelte'; import { goto } from '$app/navigation'; import { upgradeURL } from '$lib/stores/billing'; - import { BillingPlan } from '$lib/constants'; - import { organization } from '$lib/stores/organization'; export let isFlex = true; export let title: string; @@ -50,7 +48,7 @@ paddingBlock="var(--space-5, 12px)" paddingInline="var(--space-6, 16px)" resetListPadding> - {#if $organization?.billingPlan === BillingPlan.PRO} + {#if maxPolicies === 1} all.map((policy) => { policy.id = ID.unique(); @@ -176,7 +175,7 @@
- {#if $organization.billingPlan === BillingPlan.SCALE} + {#if $currentPlan?.backupPolicies > 1} {#if title || subtitle}
{#if title} @@ -195,7 +194,7 @@ {/if} - {#if $organization.billingPlan === BillingPlan.PRO} + {#if $currentPlan?.backupPolicies === 1} {@const dailyPolicy = $presetPolicies[1]} {#if isFromBackupsTab} From e0d881d5e0bd6c6a1a7288043e7b293a86ad6c7d Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Sat, 22 Nov 2025 12:11:01 +0000 Subject: [PATCH 2/2] remove try catch --- .../databases/create.svelte | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/create.svelte b/src/routes/(console)/project-[region]-[project]/databases/create.svelte index eff69547d7..f00b68e592 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/create.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/create.svelte @@ -87,17 +87,7 @@ name }); - try { - await createPolicies(databaseId); - } catch (policyError) { - addNotification({ - type: 'warning', - message: - policyError.message || - 'Failed to create backup policies. The database was created successfully.' - }); - trackError(policyError, Submit.DatabaseCreate); - } + await createPolicies(databaseId); showCreate = false; dispatch('created', database);