export async function updateStatesByLocalWskPropFile()

in src/entityExplorer.ts [128:168]


export async function updateStatesByLocalWskPropFile(manager: StorageManager): Promise<void> {
    const localAuthInfo = await getLocalAuthInfo();
    if (!localAuthInfo) {
        return Promise.resolve();
    }
    const [isValid, apihost] = await validateURL(localAuthInfo.apihost);

    let isExisted: any = manager.getEndpoints();
    if (isExisted !== undefined) {
        isExisted = isExisted[apihost];
        if (isExisted !== undefined) {
            isExisted = isExisted['namespaces'].find(
                (namespace: SavedNamespaceState) => namespace.api_key === localAuthInfo.api_key
            );
        }
    }

    if (isExisted === undefined) {
        const namespaceNames = await openwhisk({
            apihost: apihost,
            api_key: localAuthInfo.api_key,
        }).namespaces.list();
        try {
            if (isValid) {
                return manager.updateEndpoints(apihost, {
                    alias: localAuthInfo.apihost,
                    apihost: apihost,
                    namespaces: [
                        {
                            api_key: localAuthInfo.api_key,
                            name: namespaceNames[0],
                        },
                    ],
                });
            }
        } catch (e) {
            return Promise.reject(e);
        }
    }
    return Promise.resolve();
}