Update for standalone base environments

This commit is contained in:
Gregory Schier
2025-01-13 17:04:35 -08:00
parent f8b211be1c
commit a80a25a90e
11 changed files with 495 additions and 51 deletions

View File

@@ -1,4 +1,4 @@
import { Context } from '@yaakapp/api';
import { Context, Environment } from '@yaakapp/api';
export function pluginHookImport(_ctx: Context, contents: string) {
let parsed;
@@ -23,6 +23,31 @@ export function pluginHookImport(_ctx: Context, contents: string) {
delete parsed.resources['requests'];
}
// Migrate v2 to v3
for (const workspace of parsed.resources.workspaces ?? []) {
if ('variables' in workspace) {
// Create the base environment
const baseEnvironment: Partial<Environment> = {
id: `GENERATE_ID::base_env_${workspace['id']}`,
name: 'Global Variables',
variables: workspace.variables,
workspaceId: workspace.id,
};
parsed.resources.environments = parsed.resources.environments ?? [];
parsed.resources.environments.push(baseEnvironment);
// Delete variables key from workspace
delete workspace.variables;
// Add environmentId to relevant environments
for (const environment of parsed.resources.environments) {
if (environment.workspaceId === workspace.id && environment.id !== baseEnvironment.id) {
environment.environmentId = baseEnvironment.id;
}
}
}
}
return { resources: parsed.resources }; // Should already be in the correct format
}