diff --git a/src/lib/stores/migration.ts b/src/lib/stores/migration.ts index 267badab56..f11eba8bf7 100644 --- a/src/lib/stores/migration.ts +++ b/src/lib/stores/migration.ts @@ -12,14 +12,16 @@ export type MigrationResource = | FirebaseMigrationResource | NHostMigrationResource | SupabaseMigrationResource - | 'platform'; + | 'platform' + | 'api-key'; // Appwrite enum is the superset of all provider resources — used as a // provider-agnostic reference. The addResource guard filters by provider. -// Platform is augmented locally until @appwrite.io/console SDK is regenerated against the new spec. +// Platform and ApiKey are augmented locally until @appwrite.io/console SDK is regenerated against the new spec. export const MigrationResources = { ...AppwriteMigrationResource, - Platform: 'platform' + Platform: 'platform', + ApiKey: 'api-key' } as const; type ProviderResourceMap = { @@ -57,7 +59,8 @@ const initialFormData = { root: false }, integrations: { - root: false + root: false, + apiKeys: false } }; @@ -97,13 +100,15 @@ export const ResourcesFriendly = { subscriber: { singular: 'Subscriber', plural: 'Subscribers' }, message: { singular: 'Message', plural: 'Messages' }, 'backup-policy': { singular: 'Backup Policy', plural: 'Backup Policies' }, - platform: { singular: 'Platform', plural: 'Platforms' } + platform: { singular: 'Platform', plural: 'Platforms' }, + 'api-key': { singular: 'API Key', plural: 'API Keys' } }; export const providerResources: ProviderResourceMap = { appwrite: [ ...Object.values(AppwriteMigrationResource), - MigrationResources.Platform as AppwriteMigrationResource + MigrationResources.Platform as AppwriteMigrationResource, + MigrationResources.ApiKey as AppwriteMigrationResource ], supabase: Object.values(SupabaseMigrationResource), nhost: Object.values(NHostMigrationResource), @@ -169,6 +174,9 @@ export const migrationFormToResources =
(
}
if (formData.integrations.root) {
addResource(MigrationResources.Platform);
+ if (formData.integrations.apiKeys) {
+ addResource(MigrationResources.ApiKey);
+ }
}
return resources as ProviderResourceMap[P];
@@ -252,6 +260,10 @@ export const resourcesToMigrationForm = (resources: MigrationResource[]): Migrat
if (resources.includes(MigrationResources.Platform)) {
formData.integrations.root = true;
}
+ if (resources.includes(MigrationResources.ApiKey)) {
+ formData.integrations.root = true;
+ formData.integrations.apiKeys = true;
+ }
return formData;
};
diff --git a/src/routes/(console)/(migration-wizard)/resource-form.svelte b/src/routes/(console)/(migration-wizard)/resource-form.svelte
index 134ce8a744..e682bb1fd1 100644
--- a/src/routes/(console)/(migration-wizard)/resource-form.svelte
+++ b/src/routes/(console)/(migration-wizard)/resource-form.svelte
@@ -120,7 +120,10 @@
}
if (groupKey === 'integrations') {
- return resources.includes(MigrationResources.Platform);
+ return (
+ resources.includes(MigrationResources.Platform) ||
+ resources.includes(MigrationResources.ApiKey)
+ );
}
const groupToResource: Record