diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index 756f63661f..267badab56 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -11,11 +11,16 @@ export type MigrationResource = | AppwriteMigrationResource | FirebaseMigrationResource | NHostMigrationResource - | SupabaseMigrationResource; + | SupabaseMigrationResource + | 'platform'; // Appwrite enum is the superset of all provider resources — used as a // provider-agnostic reference. The addResource guard filters by provider. -export const MigrationResources = AppwriteMigrationResource; +// Platform is augmented locally until @appwrite.io/console SDK is regenerated against the new spec. +export const MigrationResources = { + ...AppwriteMigrationResource, + Platform: 'platform' +} as const; type ProviderResourceMap = { appwrite: AppwriteMigrationResource[]; @@ -50,6 +55,9 @@ const initialFormData = { }, backups: { root: false + }, + integrations: { + root: false } }; @@ -88,11 +96,15 @@ export const ResourcesFriendly = { topic: { singular: 'Topic', plural: 'Topics' }, subscriber: { singular: 'Subscriber', plural: 'Subscribers' }, message: { singular: 'Message', plural: 'Messages' }, - 'backup-policy': { singular: 'Backup Policy', plural: 'Backup Policies' } + 'backup-policy': { singular: 'Backup Policy', plural: 'Backup Policies' }, + platform: { singular: 'Platform', plural: 'Platforms' } }; export const providerResources: ProviderResourceMap = { - appwrite: Object.values(AppwriteMigrationResource), + appwrite: [ + ...Object.values(AppwriteMigrationResource), + MigrationResources.Platform as AppwriteMigrationResource + ], supabase: Object.values(SupabaseMigrationResource), nhost: Object.values(NHostMigrationResource), firebase: Object.values(FirebaseMigrationResource) @@ -155,6 +167,9 @@ export const migrationFormToResources =
(
if (formData.backups.root) {
addResource(MigrationResources.Backuppolicy);
}
+ if (formData.integrations.root) {
+ addResource(MigrationResources.Platform);
+ }
return resources as ProviderResourceMap[P];
};
@@ -234,6 +249,9 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat
if (resources.includes(MigrationResources.Backuppolicy)) {
formData.backups.root = true;
}
+ if (resources.includes(MigrationResources.Platform)) {
+ formData.integrations.root = true;
+ }
return formData;
};
diff --git a/src/routes/(console)/(migration-wizard)/resource-form.svelte b/src/routes/(console)/(migration-wizard)/resource-form.svelte
index 7b863f7b79..134ce8a744 100644
--- a/src/routes/(console)/(migration-wizard)/resource-form.svelte
+++ b/src/routes/(console)/(migration-wizard)/resource-form.svelte
@@ -119,6 +119,10 @@
return resources.includes(MigrationResources.Backuppolicy);
}
+ if (groupKey === 'integrations') {
+ return resources.includes(MigrationResources.Platform);
+ }
+
const groupToResource: Record