From 66bcd47d467e446c928b762c03b7a5bd338fc48c Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Thu, 7 May 2026 20:30:09 +1200 Subject: [PATCH] wip(dedicated-db): in-progress overview/HA/storage tweaks --- DEDICATED_DB_GAPS.md | 4 ++-- .../dedicatedOverview.svelte | 18 +++--------------- .../settings/updateHAStatus.svelte | 18 +++++++++--------- .../settings/updateStorage.svelte | 2 +- 4 files changed, 15 insertions(+), 27 deletions(-) diff --git a/DEDICATED_DB_GAPS.md b/DEDICATED_DB_GAPS.md index f8723daae..96f58a979 100644 --- a/DEDICATED_DB_GAPS.md +++ b/DEDICATED_DB_GAPS.md @@ -17,7 +17,7 @@ Tracking file for all missing dedicated DB features in console vs cloud/edge/ddb - [x] `BackupStorageProvider` (s3, gcs, azure) - [x] `RestorationType` (backup, pitr) - [x] `RestorationStatusValue` (pending, running, completed, failed) -- [x] `HASyncMode` (async, sync, quorum) +- [x] `HighAvailabilitySyncMode` (async, sync, quorum) - [x] `ReplicaRole` (primary, standby, readReplica) - [x] `MaintenanceDay` (sun–sat) - [x] `DataResidency` (eu, us, apac, global) @@ -31,7 +31,7 @@ Tracking file for all missing dedicated DB features in console vs cloud/edge/ddb ## 2. Properties on `DedicatedDatabase` Type — ALL DONE -- [x] `projectId`, `externalIP`, `internalIP`, `lastActivityAt`, `idleUntil`, `networkPublicTcp` +- [x] `projectId`, `externalIP`, `internalIP`, `lastAccessedAt`, `idleUntil`, `networkPublicTcp` - [x] `storageAutoscaling`, `storageAutoscalingMaxGb`, `storageAutoscalingThresholdPercent` - [x] `securityEncryptionAtRest`, `securityKeyManagement`, `securityKeyRotationDays`, `securityCMKKeyId` - [x] `securityAuditLogEnabled`, `securityLogRetentionDays`, `securityDataResidency` diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/dedicatedOverview.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/dedicatedOverview.svelte index 6df1fa1eb..4540537ff 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/dedicatedOverview.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/dedicatedOverview.svelte @@ -35,7 +35,6 @@ sqlApiAllowedStatements?: string[]; maintenanceUpgradePolicy?: string; networkPublicTcp?: boolean; - internalIP?: string; }; const { @@ -54,7 +53,6 @@ sqlApiAllowedStatements: [], maintenanceUpgradePolicy: 'manual', networkPublicTcp: false, - internalIP: '', pitrRetentionDays: 0, storageAutoscaling: false, storageAutoscalingThresholdPercent: 0, @@ -432,16 +430,6 @@ {#if defaultDatabaseName} {/if} - {#if database.externalIP || database.internalIP} - - {#if database.externalIP} - - {/if} - {#if database.internalIP} - - {/if} - - {/if} {:else} @@ -577,16 +565,16 @@ Replicas - {database.haReplicaCount} + {database.highAvailabilityReplicaCount} - {#if database.haSyncMode} + {#if database.highAvailabilitySyncMode} Sync Mode - {capitalize(database.haSyncMode)} + {capitalize(database.highAvailabilitySyncMode)} {/if} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateHAStatus.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateHAStatus.svelte index 436b2e0e1..bd6a614be 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateHAStatus.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateHAStatus.svelte @@ -8,7 +8,7 @@ import { addNotification } from '$lib/stores/notifications'; import { sdk } from '$lib/stores/sdk'; import { onMount } from 'svelte'; - import { HaSyncMode, type Models } from '@appwrite.io/console'; + import { HighAvailabilitySyncMode, type Models } from '@appwrite.io/console'; import { Badge, Layout } from '@appwrite.io/pink-svelte'; let { @@ -17,9 +17,9 @@ database: Models.DedicatedDatabase; } = $props(); - type HASyncMode = 'async' | 'sync' | 'quorum'; + type HighAvailabilitySyncMode = 'async' | 'sync' | 'quorum'; - const syncModeOptions: { value: HASyncMode; label: string }[] = [ + const syncModeOptions: { value: HighAvailabilitySyncMode; label: string }[] = [ { value: 'async', label: 'Asynchronous' }, { value: 'sync', label: 'Synchronous' }, { value: 'quorum', label: 'Quorum' } @@ -29,12 +29,12 @@ let isLoading = $state(true); let haEnabled: boolean = $state(database.highAvailability); - let replicaCount: number = $state(database.haReplicaCount); - let syncMode: HASyncMode = $state((database.haSyncMode ?? 'async') as HASyncMode); + let replicaCount: number = $state(database.highAvailabilityReplicaCount); + let syncMode: HighAvailabilitySyncMode = $state((database.highAvailabilitySyncMode ?? 'async') as HighAvailabilitySyncMode); let initialEnabled = $state(database.highAvailability); - let initialReplicaCount = $state(database.haReplicaCount); - let initialSyncMode: HASyncMode = $state((database.haSyncMode ?? 'async') as HASyncMode); + let initialReplicaCount = $state(database.highAvailabilityReplicaCount); + let initialSyncMode: HighAvailabilitySyncMode = $state((database.highAvailabilitySyncMode ?? 'async') as HighAvailabilitySyncMode); let showFailoverConfirm = $state(false); let isFailingOver = $state(false); @@ -75,8 +75,8 @@ await sdk.forProject(page.params.region, page.params.project).compute.updateDatabase({ databaseId: database.$id, highAvailability: haEnabled, - haReplicaCount: replicaCount, - haSyncMode: syncMode as HaSyncMode + highAvailabilityReplicaCount: replicaCount, + highAvailabilitySyncMode: syncMode as HighAvailabilitySyncMode }); initialEnabled = haEnabled; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateStorage.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateStorage.svelte index d439a5386..1aa0025f9 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateStorage.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/settings/updateStorage.svelte @@ -52,7 +52,7 @@ id="storage" label="Storage (GB)" min={database.storage} - max={database.maxStorageGb || 1000} + max={database.storageMaxGb || 1000} bind:value={storageGb} required /> {#if storageGb < database.storage}