diff --git a/lib/mongodb-functions.ts b/lib/mongodb-functions.ts index 371817e..3d51a06 100644 --- a/lib/mongodb-functions.ts +++ b/lib/mongodb-functions.ts @@ -560,16 +560,17 @@ export function flattenPreset(preset): {} { const provision = p.configurations[0]; if ( - p.configurations.length !== 1 || - provision.type !== "provision" || - !provision.name || - !provision.name.length - ) - throw new Error("Invalid preset provision"); - p.provision = provision.name; - p.provisionArgs = provision.args - ? JSON.stringify(provision.args).slice(1, -1) - : ""; + p.configurations.length === 1 && + provision.type === "provision" && + provision.name && + provision.name.length + ) { + p.provision = provision.name; + p.provisionArgs = provision.args + ? JSON.stringify(provision.args).slice(1, -1) + : ""; + } + delete p.configurations; return p; } diff --git a/ui/presets-page.ts b/ui/presets-page.ts index f786b48..08c78b9 100644 --- a/ui/presets-page.ts +++ b/ui/presets-page.ts @@ -286,6 +286,14 @@ export const component: ClosureComponent = (): Component => { { onclick: () => { const cb = (): Children => { + if (!preset.provision) { + return m( + "div", + { style: "margin:20px" }, + "This UI only supports presets with a single 'provision' configuraiton. If this preset was originally created from the old UI (genieacs-gui), you must edit it there." + ); + } + return m( putFormComponent, Object.assign(