@onboardbase/cli
Version:
[](https://www.npmjs.com/package/@onboardbase/cli) [](https://www.npmjs.com/package/@onboardbase/cli) [ • 1.96 kB
JavaScript
;
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;