@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
39 lines (38 loc) • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.create = void 0;
const next_1 = require("../../../next");
const or_1 = require("../../../or");
const options_1 = require("../../../options");
const checkOptionsExistence_1 = require("../../../checkOptionsExistence");
const constants_1 = require("../../../../../constants");
const logger_1 = require("../../../../../logger");
const options_2 = require("../../../../../utils/options");
const SecretsStorageSingleton_1 = require("../../../../../cache/secrets/SecretsStorageSingleton");
const createOptHandler = (option) => (0, options_1.create)([option], undefined, true, true);
const getLogger = () => (0, logger_1.get)("commands.handler.authentication.oauth.secretsProvider.options");
const setOAuthFromOptions = async () => async () => {
const expiresIn = (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_EXPIRES_IN);
await SecretsStorageSingleton_1.SecretsStorageSingleton.SINGLETON.storeSecret({
client_id: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_CLIENT_ID),
client_secret: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_CLIENT_SECRET),
authorization_url: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_AUTHORIZATION_URL),
token_url: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_TOKEN_URL),
access_token: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_ACCESS_TOKEN),
refresh_token: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_REFRESH_TOKEN),
authorization_flow: (0, options_2.getOptionValueFromConfigGracefully)(constants_1.OPTION_AUTHORIZATION_FLOW),
expires_in: expiresIn ? parseInt(expiresIn, 10) : undefined,
});
};
const pre = async () => async () => {
const { info } = getLogger();
info("reading secrets from options");
};
const create = () => (0, next_1.create)("handler.authentication.oauth.secretsProvider.options$outer", pre, (0, or_1.create)("commands.handler.authentication.oauth.secretsProvider.options", (0, checkOptionsExistence_1.create)(constants_1.OPTION_ACCESS_TOKEN, false), (0, next_1.create)("handler.authentication.oauth.secretsProvider.options$inner", createOptHandler(constants_1.OPTION_CLIENT_ID), createOptHandler(constants_1.OPTION_CLIENT_SECRET), (0, options_1.create)([
constants_1.OPTION_AUTHORIZATION_URL,
constants_1.OPTION_TOKEN_URL,
constants_1.OPTION_REFRESH_TOKEN,
constants_1.OPTION_EXPIRES_IN,
constants_1.OPTION_AUTHORIZATION_FLOW,
]))), setOAuthFromOptions);
exports.create = create;