UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

39 lines (38 loc) 2.68 kB
"use strict"; 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;