UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

29 lines (28 loc) 1.2 kB
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;