export async function addNamespace()

in src/entityExplorer.ts [226:250]


export async function addNamespace(
    apihost: string,
    context: vscode.ExtensionContext
): Promise<void> {
    const inputOptions = {
        prompt: `Authorization KEY for ${apihost}`,
        placeHolder: 'Enter authorization KEY',
        password: true,
        ignoreFocusOut: true,
    };
    const manager = new StorageManager(context.globalState);
    const api_key = await vscode.window.showInputBox(inputOptions);
    if (api_key === undefined) {
        // it's cancelled
        return;
    }

    if (manager.getEndpoints()[apihost].namespaces.find((ns) => ns.api_key === api_key)) {
        vscode.window.showErrorMessage('Already registered namespace');
        return;
    }

    const ns = await openwhisk({ apihost, api_key }).namespaces.list();
    return manager.addNamespace(apihost, { name: ns[0], api_key });
}