pentest-distro-builder/filesystem/root/.vscode/extensions/peterjausovec.vscode-docker-0.3.1/out/commands/remove-container.js

67 lines
No EOL
3 KiB
JavaScript

"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE.md in the project root for license information.
*--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const vscode = require("vscode");
const dockerExtension_1 = require("../dockerExtension");
const containerNode_1 = require("../explorer/models/containerNode");
const telemetry_1 = require("../telemetry/telemetry");
const docker_endpoint_1 = require("./utils/docker-endpoint");
const quick_pick_container_1 = require("./utils/quick-pick-container");
const teleCmdId = 'vscode-docker.container.remove';
async function removeContainer(actionContext, context) {
let containersToRemove;
if (context instanceof containerNode_1.ContainerNode && context.containerDesc) {
containersToRemove = [context.containerDesc];
}
else {
const opts = {
"filters": {
"status": ["created", "restarting", "running", "paused", "exited", "dead"]
}
};
const selectedItem = await quick_pick_container_1.quickPickContainer(actionContext, true, opts);
if (selectedItem) {
if (selectedItem.allContainers) {
containersToRemove = await docker_endpoint_1.docker.getContainerDescriptors(opts);
}
else {
containersToRemove = [selectedItem.containerDesc];
}
}
}
if (containersToRemove) {
const numContainers = containersToRemove.length;
let containerCounter = 0;
vscode.window.setStatusBarMessage("Docker: Removing Container(s)...", new Promise((resolve, reject) => {
containersToRemove.forEach((c) => {
// tslint:disable-next-line:no-function-expression no-any // Grandfathered in
docker_endpoint_1.docker.getContainer(c.Id).remove({ force: true }, function (err, _data) {
containerCounter++;
if (err) {
// TODO: parseError, proper error handling
vscode.window.showErrorMessage(err.message);
dockerExtension_1.dockerExplorerProvider.refreshContainers();
reject();
}
if (containerCounter === numContainers) {
dockerExtension_1.dockerExplorerProvider.refreshContainers();
resolve();
}
});
});
}));
}
if (telemetry_1.reporter) {
/* __GDPR__
"command" : {
"command" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
}
*/
telemetry_1.reporter.sendTelemetryEvent("command", { command: teleCmdId });
}
}
exports.removeContainer = removeContainer;
//# sourceMappingURL=remove-container.js.map