export async function editActionMetadata()

in src/commands/editActionMetadata.ts [24:58]


export async function editActionMetadata(
    action: WskAction,
    context: vscode.ExtensionContext
): Promise<void> {
    const a = await action.getRemoteAction();
    const parameters = convertKeyValToObj(a.parameters || []);
    const annotations = convertKeyValToObj(a.annotations || []);
    const updateActionMetadata = async (
        params: object,
        annotations: object,
        limits: Limits | undefined
    ): Promise<void> => {
        try {
            await action.client.actions.update({
                name: action.getFullName(),
                params: params,
                annotations: annotations,
                limits: limits,
            });
            vscode.window.showInformationMessage('The action is updated successfully.');
        } catch (e) {
            vscode.window.showErrorMessage(`Failed to update the action (${e.message})`);
        }
    };

    await openMetadataEditor(
        'editActionMetadata',
        `Edit action metadata: ${action.actionDesc.name}`,
        context,
        parameters,
        annotations,
        a.limits,
        updateActionMetadata
    );
}