@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
29 lines (28 loc) • 1.2 kB
JavaScript
import { SecretsStorageSingleton } from "../cache/secrets/SecretsStorageSingleton.js";
import { OPTION_LOGIN_ID, OPTION_VERBOSE } from "../constants.js";
import { get as getLogger } from "../logger/index.js";
import { get as getConfig } from "../config/index.js";
import { createNextHandler, createOptionsHandler, createParseArgumentsHandler, } from "./handler/index.js";
import { logVerbose } from "../logger/utils.js";
import { getChoices } from "./utils.js";
const handler = async () => async () => {
try {
const config = getConfig();
SecretsStorageSingleton.SINGLETON.deleteSecretById(config.options[OPTION_LOGIN_ID.longName]);
}
catch (err) {
const logger = getLogger("commands.logout");
logger.error("failed to delete secrets file from cache", err);
logVerbose(logger, err.message);
}
};
const logoutCommand = {
type: "command",
command: "logout",
description: "log out from your account",
handler: createNextHandler("logout.command", createParseArgumentsHandler(), createOptionsHandler([
{ ...OPTION_LOGIN_ID, choices: getChoices },
OPTION_VERBOSE,
]), handler),
};
export default logoutCommand;