UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

43 lines (42 loc) 1.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.create = void 0; const prompts_1 = __importDefault(require("prompts")); const config_1 = require("../../../../config"); const constants_1 = require("../../../../constants"); const utils_1 = require("../../options/utils"); const openUtils_1 = require("../../../../utils/openUtils"); const create = () => async (command) => { await (0, utils_1.checkOptions)(constants_1.OPTION_PASSCODE, command); return async () => { const config = (0, config_1.get)(); let passcode = config.options[constants_1.OPTION_PASSCODE.longName]; if (!passcode) { if (!config.passcodeUrl) { throw new Error("passcode url is not available"); } const res = await prompts_1.default.prompt({ type: "confirm", initial: true, message: `Do you want to retrieve a temporary authentication code from ${config.passcodeUrl}?`, name: "value", }); if (res.value) { await (0, openUtils_1.openUrlInBrowser)(config.passcodeUrl); passcode = (await prompts_1.default.prompt({ type: "password", message: "Enter your temporary authentication code:", name: "value", })).value; } } if (!passcode) { throw new Error("no passcode"); } (0, config_1.set)({ passcode }); }; }; exports.create = create;