UNPKG

@onboardbase/cli

Version:

[![Version](https://img.shields.io/npm/v/@onboardbase/cli.svg)](https://www.npmjs.com/package/@onboardbase/cli) [![Downloads/week](https://img.shields.io/npm/dw/@onboardbase/cli.svg)](https://www.npmjs.com/package/@onboardbase/cli) [![License](https://img

42 lines (41 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SecretsFetchService = void 0; const chalk = require("chalk"); const utils_1 = require("../../../utils"); const base_secrets_service_1 = require("../base-secrets.service"); const errors_1 = require("../../../common/errors"); const types_1 = require("../../../common/types"); class SecretsFetchService extends base_secrets_service_1.BaseSecretsAccessService { constructor(configManager) { super(configManager); } async initialize({ args, flags }) { const { currentProject, currentEnvironment } = this._handleGetProjectAndEnvironment(flags); await this.accessManager.handleUserAdminPrivileges(currentProject); let secretKey = args["secret-key"]; if (!secretKey) throw new errors_1.BadInputError("Please Specify a Secret key to Display"); secretKey = secretKey.toUpperCase(); const cliToken = this._getFromGlobalConfigOrThrow({ configPath: "token", envName: types_1.ENV_NAMES.TOKEN, }); // TODO: Rather than download all the secrets, fetch a secret by its key from the server const { env } = await (0, utils_1.downloadSecrets)(currentProject, currentEnvironment, String(Date.now()), true, false, false, false, "", cliToken); const secretValue = env[secretKey]; if (!secretValue) { console.log(chalk.greenBright(`There's no secret with the key: ${chalk.bold(secretKey)}. Below is a list of suggestions`)); let suggestions = "\n\n"; const regex = RegExp(`^${secretKey}+`); Object.keys(env).map((key) => { if (regex.test(key)) suggestions += `${key}\n`; }); console.log(chalk.greenBright(suggestions)); } else console.log(env[secretKey]); } } exports.SecretsFetchService = SecretsFetchService;