From be46b055392b535b517ec7f0c36e5a73530709ef Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Sun, 22 Feb 2026 16:21:43 +0000 Subject: [PATCH 1/7] added site migration --- src/lib/stores/migration.ts | 28 +++++++++++++++++-- .../(migration-wizard)/resource-form.svelte | 7 ++++- .../migrations/(import)/importReport.svelte | 12 +++++++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index 534cddc6a9..d27fc5fe6a 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -18,6 +18,11 @@ const initialFormData = { }, storage: { root: false + }, + sites: { + root: false, + env: false, + inactive: false } }; @@ -48,12 +53,18 @@ export const ResourcesFriendly = { table: { singular: 'Table', plural: 'Tables' }, index: { singular: 'Index', plural: 'Indexes' }, column: { singular: 'Column', plural: 'Columns' }, - row: { singular: 'Row', plural: 'Rows' } + row: { singular: 'Row', plural: 'Rows' }, + site: { singular: 'Site', plural: 'Sites' }, + 'site-deployment': { singular: 'Site Deployment', plural: 'Site Deployments' }, + 'site-variable': { singular: 'Site Variable', plural: 'Site Variables' } }; +// Site resources are not yet in the SDK's Resources enum; cast as Resources +const siteResources = ['site', 'site-deployment', 'site-variable'] as Resources[]; + // @todo: @itznotabug - check if other resources are correct and work fine! export const providerResources: Record = { - appwrite: Object.values(Resources), + appwrite: [...Object.values(Resources), ...siteResources], supabase: [ Resources.User, Resources.Database, @@ -112,6 +123,13 @@ export const migrationFormToResources = ( addResource(Resources.Bucket); addResource(Resources.File); } + if (formData.sites.root) { + addResource('site' as Resources); + addResource('site-variable' as Resources); + } + if (formData.sites.inactive) { + addResource('site-deployment' as Resources); + } return resources; }; @@ -151,6 +169,12 @@ export const resourcesToMigrationForm = (resources: Resources[]): MigrationFormD if (includesAll(resources, [Resources.Bucket, Resources.File] as Resources[])) { formData.storage.root = true; } + if (resources.includes('site' as Resources)) { + formData.sites.root = true; + } + if (resources.includes('site-deployment' as Resources)) { + formData.sites.inactive = true; + } return formData; }; diff --git a/src/routes/(console)/(migration-wizard)/resource-form.svelte b/src/routes/(console)/(migration-wizard)/resource-form.svelte index 54e3f23ba4..f65129d3f1 100644 --- a/src/routes/(console)/(migration-wizard)/resource-form.svelte +++ b/src/routes/(console)/(migration-wizard)/resource-form.svelte @@ -103,6 +103,10 @@ return resources.includes(Resources.Bucket) && resources.includes(Resources.File); } + if (groupKey === 'sites') { + return (resources as string[]).includes('site'); + } + // Map groupKey to Resources enum const groupToResource: Record = { users: Resources.User, @@ -122,7 +126,8 @@ users: 'user', databases: 'database', functions: 'function', - storage: 'bucket' + storage: 'bucket', + sites: 'site' }; return map[groupKey] || groupKey; }; diff --git a/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte b/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte index 99e62c32f7..76e4a2800c 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte @@ -26,7 +26,12 @@ env: 'Include environment variables', inactive: 'Include inactive deployments' }, - storage: { root: 'Storage' } + storage: { root: 'Storage' }, + sites: { + root: 'Sites', + env: 'Include environment variables', + inactive: 'Include inactive deployments' + } }; const descriptionMap = { @@ -42,6 +47,11 @@ root: 'Import all functions and their active deployment', env: 'Import all environment variables', inactive: 'Import all deployments that are not currently active' + }, + sites: { + root: 'Import all sites and their active deployment', + env: 'Import all environment variables', + inactive: 'Import all deployments that are not currently active' } }; From 9f5786e3f016e4745aaa9198185149fd66cc879b Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Tue, 24 Feb 2026 13:13:57 +0000 Subject: [PATCH 2/7] feat: use provider-specific migration resource enums from SDK --- src/lib/stores/migration.ts | 119 +++++++++--------- .../(migration-wizard)/resource-form.svelte | 23 ++-- 2 files changed, 74 insertions(+), 68 deletions(-) diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index d27fc5fe6a..ba110b2e08 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -1,7 +1,18 @@ import { writable } from 'svelte/store'; -import { Resources } from '@appwrite.io/console'; +import { + AppwriteMigrationResource, + FirebaseMigrationResource, + NHostMigrationResource, + SupabaseMigrationResource +} from '@appwrite.io/console'; import { includesAll } from '$lib/helpers/array'; +type MigrationResource = + | AppwriteMigrationResource + | FirebaseMigrationResource + | NHostMigrationResource + | SupabaseMigrationResource; + const initialFormData = { users: { root: false, @@ -59,76 +70,53 @@ export const ResourcesFriendly = { 'site-variable': { singular: 'Site Variable', plural: 'Site Variables' } }; -// Site resources are not yet in the SDK's Resources enum; cast as Resources -const siteResources = ['site', 'site-deployment', 'site-variable'] as Resources[]; - -// @todo: @itznotabug - check if other resources are correct and work fine! -export const providerResources: Record = { - appwrite: [...Object.values(Resources), ...siteResources], - supabase: [ - Resources.User, - Resources.Database, - Resources.Collection, - Resources.Attribute, - Resources.Index, - Resources.Document, - Resources.Bucket, - Resources.File - ], - nhost: [ - Resources.User, - Resources.Database, - Resources.Collection, - Resources.Attribute, - Resources.Index, - Resources.Document, - Resources.Bucket, - Resources.File - ], - firebase: [ - Resources.User, - Resources.Database, - Resources.Collection, - Resources.Attribute, - Resources.Document, - Resources.Bucket, - Resources.File - ] +export const providerResources: Record = { + appwrite: Object.values(AppwriteMigrationResource), + supabase: Object.values(SupabaseMigrationResource), + nhost: Object.values(NHostMigrationResource), + firebase: Object.values(FirebaseMigrationResource) }; export const migrationFormToResources = ( formData: MigrationFormData, provider: Provider -): Resources[] => { - const resources: Resources[] = []; - const addResource = (resource: Resources) => { +): MigrationResource[] => { + const resources: MigrationResource[] = []; + const addResource = (resource: MigrationResource) => { if (providerResources[provider].includes(resource)) { resources.push(resource); } }; if (formData.users.root) { - addResource(Resources.User); + addResource(AppwriteMigrationResource.User); } if (formData.databases.root) { - addResource(Resources.Database); - addResource(Resources.Table); - addResource(Resources.Column); - addResource(Resources.Index); + addResource(AppwriteMigrationResource.Database); + addResource(AppwriteMigrationResource.Table); + addResource(AppwriteMigrationResource.Column); + addResource(AppwriteMigrationResource.Index); } if (formData.databases.rows) { - addResource(Resources.Row); + addResource(AppwriteMigrationResource.Row); } if (formData.storage.root) { - addResource(Resources.Bucket); - addResource(Resources.File); + addResource(AppwriteMigrationResource.Bucket); + addResource(AppwriteMigrationResource.File); + } + if (formData.functions.root) { + addResource(AppwriteMigrationResource.Function); + addResource(AppwriteMigrationResource.Environmentvariable); + } + if (formData.functions.inactive) { + addResource(AppwriteMigrationResource.Deployment); } if (formData.sites.root) { - addResource('site' as Resources); - addResource('site-variable' as Resources); + addResource(AppwriteMigrationResource.Site); + addResource(AppwriteMigrationResource.Sitevariable); } if (formData.sites.inactive) { - addResource('site-deployment' as Resources); + addResource(AppwriteMigrationResource.Sitedeployment); } return resources; @@ -155,24 +143,41 @@ export const isVersionAtLeast = (version: string, atLeast: string) => { return compareVersions(version, atLeast) >= 0; }; -export const resourcesToMigrationForm = (resources: Resources[]): MigrationFormData => { +export const resourcesToMigrationForm = (resources: MigrationResource[]): MigrationFormData => { const formData = { ...initialFormData }; - if (resources.includes(Resources.User)) { + if (resources.includes(AppwriteMigrationResource.User)) { formData.users.root = true; } - if (resources.includes(Resources.Database)) { + if (resources.includes(AppwriteMigrationResource.Database)) { formData.databases.root = true; } - if (includesAll(resources, [Resources.Table, Resources.Column, Resources.Row] as Resources[])) { + if ( + includesAll(resources, [ + AppwriteMigrationResource.Table, + AppwriteMigrationResource.Column, + AppwriteMigrationResource.Row + ] as MigrationResource[]) + ) { formData.databases.rows = true; } - if (includesAll(resources, [Resources.Bucket, Resources.File] as Resources[])) { + if ( + includesAll(resources, [ + AppwriteMigrationResource.Bucket, + AppwriteMigrationResource.File + ] as MigrationResource[]) + ) { formData.storage.root = true; } - if (resources.includes('site' as Resources)) { + if (resources.includes(AppwriteMigrationResource.Function)) { + formData.functions.root = true; + } + if (resources.includes(AppwriteMigrationResource.Deployment)) { + formData.functions.inactive = true; + } + if (resources.includes(AppwriteMigrationResource.Site)) { formData.sites.root = true; } - if (resources.includes('site-deployment' as Resources)) { + if (resources.includes(AppwriteMigrationResource.Sitedeployment)) { formData.sites.inactive = true; } diff --git a/src/routes/(console)/(migration-wizard)/resource-form.svelte b/src/routes/(console)/(migration-wizard)/resource-form.svelte index f65129d3f1..b3ced45945 100644 --- a/src/routes/(console)/(migration-wizard)/resource-form.svelte +++ b/src/routes/(console)/(migration-wizard)/resource-form.svelte @@ -11,7 +11,7 @@ } from '$lib/stores/migration'; import { Button } from '$lib/elements/forms'; import { wizard } from '$lib/stores/wizard'; - import { Resources, type Models } from '@appwrite.io/console'; + import { AppwriteMigrationResource, type Models } from '@appwrite.io/console'; import type { sdk } from '$lib/stores/sdk'; import ImportReport from '$routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte'; @@ -94,23 +94,24 @@ $: resources = providerResources[$provider.provider]; const shouldRenderGroup = (groupKey: string): boolean => { - if (groupKey === 'functions') { - // Functions not in SDK Resources enum, skip - return false; + if (groupKey === 'storage') { + return ( + resources.includes(AppwriteMigrationResource.Bucket) && + resources.includes(AppwriteMigrationResource.File) + ); } - if (groupKey === 'storage') { - return resources.includes(Resources.Bucket) && resources.includes(Resources.File); + if (groupKey === 'functions') { + return resources.includes(AppwriteMigrationResource.Function); } if (groupKey === 'sites') { - return (resources as string[]).includes('site'); + return resources.includes(AppwriteMigrationResource.Site); } - // Map groupKey to Resources enum - const groupToResource: Record = { - users: Resources.User, - databases: Resources.Database + const groupToResource: Record = { + users: AppwriteMigrationResource.User, + databases: AppwriteMigrationResource.Database }; const resource = groupToResource[groupKey]; return resource ? resources.includes(resource) : false; From 8aa917b6f3aed28cb613209ce75470c01285158f Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Tue, 24 Feb 2026 13:23:23 +0000 Subject: [PATCH 3/7] chore: clean up migration resource type union --- package.json | 2 +- src/lib/stores/migration.ts | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1905197e2f..8e898a7249 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@ai-sdk/svelte": "^1.1.24", - "@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@de65a99", + "@appwrite.io/console": "github:appwrite/sdk-for-console#migration-resource-enum-fix", "@appwrite.io/pink-icons": "0.25.0", "@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@df765cc", "@appwrite.io/pink-legacy": "^1.0.3", diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index ba110b2e08..f282c50b71 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -7,11 +7,7 @@ import { } from '@appwrite.io/console'; import { includesAll } from '$lib/helpers/array'; -type MigrationResource = - | AppwriteMigrationResource - | FirebaseMigrationResource - | NHostMigrationResource - | SupabaseMigrationResource; +type MigrationResource = AppwriteMigrationResource | FirebaseMigrationResource | NHostMigrationResource | SupabaseMigrationResource; const initialFormData = { users: { From a6385921613b8cdcc40bc98f5233263b7c063d5a Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Tue, 24 Feb 2026 17:47:00 +0000 Subject: [PATCH 4/7] fix: correct migration resource enum casing in ResourcesFriendly and form helpers --- src/lib/stores/migration.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index f282c50b71..10fda44488 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -54,7 +54,7 @@ export const ResourcesFriendly = { file: { singular: 'File', plural: 'Files' }, bucket: { singular: 'Bucket', plural: 'Buckets' }, function: { singular: 'Function', plural: 'Functions' }, - 'environment-variable': { singular: 'Environment Variable', plural: 'Environment Variables' }, + environment_variable: { singular: 'Environment Variable', plural: 'Environment Variables' }, deployment: { singular: 'Deployment', plural: 'Deployments' }, database: { singular: 'Database', plural: 'Databases' }, table: { singular: 'Table', plural: 'Tables' }, @@ -62,8 +62,8 @@ export const ResourcesFriendly = { column: { singular: 'Column', plural: 'Columns' }, row: { singular: 'Row', plural: 'Rows' }, site: { singular: 'Site', plural: 'Sites' }, - 'site-deployment': { singular: 'Site Deployment', plural: 'Site Deployments' }, - 'site-variable': { singular: 'Site Variable', plural: 'Site Variables' } + site_deployment: { singular: 'Site Deployment', plural: 'Site Deployments' }, + site_variable: { singular: 'Site Variable', plural: 'Site Variables' } }; export const providerResources: Record = { @@ -102,17 +102,17 @@ export const migrationFormToResources = ( } if (formData.functions.root) { addResource(AppwriteMigrationResource.Function); - addResource(AppwriteMigrationResource.Environmentvariable); + addResource(AppwriteMigrationResource.EnvironmentVariable); } if (formData.functions.inactive) { addResource(AppwriteMigrationResource.Deployment); } if (formData.sites.root) { addResource(AppwriteMigrationResource.Site); - addResource(AppwriteMigrationResource.Sitevariable); + addResource(AppwriteMigrationResource.SiteVariable); } if (formData.sites.inactive) { - addResource(AppwriteMigrationResource.Sitedeployment); + addResource(AppwriteMigrationResource.SiteDeployment); } return resources; @@ -173,7 +173,7 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat if (resources.includes(AppwriteMigrationResource.Site)) { formData.sites.root = true; } - if (resources.includes(AppwriteMigrationResource.Sitedeployment)) { + if (resources.includes(AppwriteMigrationResource.SiteDeployment)) { formData.sites.inactive = true; } From f4470c61e0e070ecbf32f0194dd87bbd1e710db6 Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Wed, 25 Feb 2026 16:15:54 +0000 Subject: [PATCH 5/7] fix: update resource type keys to match kebab-case enum values Update ResourcesFriendly map keys and AppwriteMigrationResource enum references to use kebab-case values (environment-variable, site-deployment, site-variable) matching the utopia-migration library. --- src/lib/stores/migration.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index 10fda44488..f282c50b71 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -54,7 +54,7 @@ export const ResourcesFriendly = { file: { singular: 'File', plural: 'Files' }, bucket: { singular: 'Bucket', plural: 'Buckets' }, function: { singular: 'Function', plural: 'Functions' }, - environment_variable: { singular: 'Environment Variable', plural: 'Environment Variables' }, + 'environment-variable': { singular: 'Environment Variable', plural: 'Environment Variables' }, deployment: { singular: 'Deployment', plural: 'Deployments' }, database: { singular: 'Database', plural: 'Databases' }, table: { singular: 'Table', plural: 'Tables' }, @@ -62,8 +62,8 @@ export const ResourcesFriendly = { column: { singular: 'Column', plural: 'Columns' }, row: { singular: 'Row', plural: 'Rows' }, site: { singular: 'Site', plural: 'Sites' }, - site_deployment: { singular: 'Site Deployment', plural: 'Site Deployments' }, - site_variable: { singular: 'Site Variable', plural: 'Site Variables' } + 'site-deployment': { singular: 'Site Deployment', plural: 'Site Deployments' }, + 'site-variable': { singular: 'Site Variable', plural: 'Site Variables' } }; export const providerResources: Record = { @@ -102,17 +102,17 @@ export const migrationFormToResources = ( } if (formData.functions.root) { addResource(AppwriteMigrationResource.Function); - addResource(AppwriteMigrationResource.EnvironmentVariable); + addResource(AppwriteMigrationResource.Environmentvariable); } if (formData.functions.inactive) { addResource(AppwriteMigrationResource.Deployment); } if (formData.sites.root) { addResource(AppwriteMigrationResource.Site); - addResource(AppwriteMigrationResource.SiteVariable); + addResource(AppwriteMigrationResource.Sitevariable); } if (formData.sites.inactive) { - addResource(AppwriteMigrationResource.SiteDeployment); + addResource(AppwriteMigrationResource.Sitedeployment); } return resources; @@ -173,7 +173,7 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat if (resources.includes(AppwriteMigrationResource.Site)) { formData.sites.root = true; } - if (resources.includes(AppwriteMigrationResource.SiteDeployment)) { + if (resources.includes(AppwriteMigrationResource.Sitedeployment)) { formData.sites.inactive = true; } From 267984c61cf558ea68df4be86d9adcff195f5f7a Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Wed, 25 Feb 2026 21:43:44 +0000 Subject: [PATCH 6/7] Revert "fix: update resource type keys to match kebab-case enum values" This reverts commit f4470c61e0e070ecbf32f0194dd87bbd1e710db6. --- src/lib/stores/migration.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index f282c50b71..10fda44488 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -54,7 +54,7 @@ export const ResourcesFriendly = { file: { singular: 'File', plural: 'Files' }, bucket: { singular: 'Bucket', plural: 'Buckets' }, function: { singular: 'Function', plural: 'Functions' }, - 'environment-variable': { singular: 'Environment Variable', plural: 'Environment Variables' }, + environment_variable: { singular: 'Environment Variable', plural: 'Environment Variables' }, deployment: { singular: 'Deployment', plural: 'Deployments' }, database: { singular: 'Database', plural: 'Databases' }, table: { singular: 'Table', plural: 'Tables' }, @@ -62,8 +62,8 @@ export const ResourcesFriendly = { column: { singular: 'Column', plural: 'Columns' }, row: { singular: 'Row', plural: 'Rows' }, site: { singular: 'Site', plural: 'Sites' }, - 'site-deployment': { singular: 'Site Deployment', plural: 'Site Deployments' }, - 'site-variable': { singular: 'Site Variable', plural: 'Site Variables' } + site_deployment: { singular: 'Site Deployment', plural: 'Site Deployments' }, + site_variable: { singular: 'Site Variable', plural: 'Site Variables' } }; export const providerResources: Record = { @@ -102,17 +102,17 @@ export const migrationFormToResources = ( } if (formData.functions.root) { addResource(AppwriteMigrationResource.Function); - addResource(AppwriteMigrationResource.Environmentvariable); + addResource(AppwriteMigrationResource.EnvironmentVariable); } if (formData.functions.inactive) { addResource(AppwriteMigrationResource.Deployment); } if (formData.sites.root) { addResource(AppwriteMigrationResource.Site); - addResource(AppwriteMigrationResource.Sitevariable); + addResource(AppwriteMigrationResource.SiteVariable); } if (formData.sites.inactive) { - addResource(AppwriteMigrationResource.Sitedeployment); + addResource(AppwriteMigrationResource.SiteDeployment); } return resources; @@ -173,7 +173,7 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat if (resources.includes(AppwriteMigrationResource.Site)) { formData.sites.root = true; } - if (resources.includes(AppwriteMigrationResource.Sitedeployment)) { + if (resources.includes(AppwriteMigrationResource.SiteDeployment)) { formData.sites.inactive = true; } From 0e5a0b82747d0adc2a794bc1802e25324a4d4b42 Mon Sep 17 00:00:00 2001 From: Prem Palanisamy Date: Thu, 26 Feb 2026 10:41:12 +0000 Subject: [PATCH 7/7] fix: migration resource enum keys and site deployment handling - Fix SDK enum casing (Environmentvariable, Sitedeployment, Sitevariable) - Use kebab-case keys in ResourcesFriendly to match backend values - Always include deployments when function/site root is checked - Remove environment variables checkbox from migration form - Add optional chaining for unknown resource types in details view - Sort migrations list by newest first --- src/lib/stores/migration.ts | 20 +++++++------------ .../migrations/(import)/importReport.svelte | 4 ---- .../settings/migrations/+page.ts | 3 ++- .../settings/migrations/details.svelte | 4 ++-- 4 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index 10fda44488..52b0e6d875 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -20,7 +20,6 @@ const initialFormData = { }, functions: { root: false, - env: false, inactive: false }, storage: { @@ -28,7 +27,6 @@ const initialFormData = { }, sites: { root: false, - env: false, inactive: false } }; @@ -54,7 +52,7 @@ export const ResourcesFriendly = { file: { singular: 'File', plural: 'Files' }, bucket: { singular: 'Bucket', plural: 'Buckets' }, function: { singular: 'Function', plural: 'Functions' }, - environment_variable: { singular: 'Environment Variable', plural: 'Environment Variables' }, + 'environment-variable': { singular: 'Environment Variable', plural: 'Environment Variables' }, deployment: { singular: 'Deployment', plural: 'Deployments' }, database: { singular: 'Database', plural: 'Databases' }, table: { singular: 'Table', plural: 'Tables' }, @@ -62,8 +60,8 @@ export const ResourcesFriendly = { column: { singular: 'Column', plural: 'Columns' }, row: { singular: 'Row', plural: 'Rows' }, site: { singular: 'Site', plural: 'Sites' }, - site_deployment: { singular: 'Site Deployment', plural: 'Site Deployments' }, - site_variable: { singular: 'Site Variable', plural: 'Site Variables' } + 'site-deployment': { singular: 'Site Deployment', plural: 'Site Deployments' }, + 'site-variable': { singular: 'Site Variable', plural: 'Site Variables' } }; export const providerResources: Record = { @@ -102,17 +100,13 @@ export const migrationFormToResources = ( } if (formData.functions.root) { addResource(AppwriteMigrationResource.Function); - addResource(AppwriteMigrationResource.EnvironmentVariable); - } - if (formData.functions.inactive) { + addResource(AppwriteMigrationResource.Environmentvariable); addResource(AppwriteMigrationResource.Deployment); } if (formData.sites.root) { addResource(AppwriteMigrationResource.Site); - addResource(AppwriteMigrationResource.SiteVariable); - } - if (formData.sites.inactive) { - addResource(AppwriteMigrationResource.SiteDeployment); + addResource(AppwriteMigrationResource.Sitevariable); + addResource(AppwriteMigrationResource.Sitedeployment); } return resources; @@ -173,7 +167,7 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat if (resources.includes(AppwriteMigrationResource.Site)) { formData.sites.root = true; } - if (resources.includes(AppwriteMigrationResource.SiteDeployment)) { + if (resources.includes(AppwriteMigrationResource.Sitedeployment)) { formData.sites.inactive = true; } diff --git a/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte b/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte index 76e4a2800c..ea8c4361cb 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/migrations/(import)/importReport.svelte @@ -23,13 +23,11 @@ databases: { root: 'Databases', rows: 'Include rows' }, functions: { root: 'Functions', - env: 'Include environment variables', inactive: 'Include inactive deployments' }, storage: { root: 'Storage' }, sites: { root: 'Sites', - env: 'Include environment variables', inactive: 'Include inactive deployments' } }; @@ -45,12 +43,10 @@ }, functions: { root: 'Import all functions and their active deployment', - env: 'Import all environment variables', inactive: 'Import all deployments that are not currently active' }, sites: { root: 'Import all sites and their active deployment', - env: 'Import all environment variables', inactive: 'Import all deployments that are not currently active' } }; diff --git a/src/routes/(console)/project-[region]-[project]/settings/migrations/+page.ts b/src/routes/(console)/project-[region]-[project]/settings/migrations/+page.ts index d93dbba358..fd1d938938 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/migrations/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/settings/migrations/+page.ts @@ -13,7 +13,8 @@ export async function load({ depends, params }) { Query.or([ Query.equal('destination', ['Appwrite', 'Firebase', 'NHost', 'Supabase']), Query.isNull('destination') - ]) + ]), + Query.orderDesc('$createdAt') ] }); diff --git a/src/routes/(console)/project-[region]-[project]/settings/migrations/details.svelte b/src/routes/(console)/project-[region]-[project]/settings/migrations/details.svelte index 9690345a67..5d89553075 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/migrations/details.svelte +++ b/src/routes/(console)/project-[region]-[project]/settings/migrations/details.svelte @@ -130,8 +130,8 @@
{total(Object.values(entityCounter)) > 1 - ? ResourcesFriendly[entity].plural - : ResourcesFriendly[entity].singular} + ? (ResourcesFriendly[entity]?.plural ?? entity) + : (ResourcesFriendly[entity]?.singular ?? entity)} {totalItems(entityCounter)}