export async function editPackageMetadata()

in src/commands/editPackageMetadata.ts [23:53]


export async function editPackageMetadata(
    pkg: WskPackage,
    context: vscode.ExtensionContext
): Promise<void> {
    const packageName = pkg.packageDesc.name as string;
    const remotePackage = await pkg.getRemotePackage();

    const parameters = convertKeyValToObj(remotePackage.parameters || []);
    const annotations = convertKeyValToObj(remotePackage.annotations || []);

    const updatePackageMetadata = async (params: object, annotations: object): Promise<void> => {
        try {
            await pkg.updateRemotePackage({
                parameters: convertObjToKeyVal(params),
                annotations: convertObjToKeyVal(annotations),
            });
            vscode.window.showInformationMessage('The package is updated successfully.');
        } catch (e) {
            vscode.window.showErrorMessage(`Failed to update the package (${e.message})`);
        }
    };
    await openMetadataEditor(
        'editPackageMetadata',
        `Edit package metadata: ${packageName}`,
        context,
        parameters,
        annotations,
        undefined,
        updatePackageMetadata
    );
}