@contentstack/cli-auth
Version:
Contentstack CLI plugin for authentication activities
68 lines (67 loc) • 3.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateAPIKey = exports.validateEnvironment = void 0;
const cli_utilities_1 = require("@contentstack/cli-utilities");
/**
* Validate environment
* @param contentStackClient
* @param apiKey
* @param environment
* @returns
*/
const validateEnvironment = async (contentStackClient, apiKey, environment) => {
cli_utilities_1.log.debug('Starting environment validation', { module: 'tokens-validation', apiKeyStatus: apiKey ? 'provided' : 'not-provided', environment });
let result;
try {
cli_utilities_1.log.debug('Making environment validation API call', { module: 'tokens-validation', environment });
const validationResult = await contentStackClient.Stack({ api_key: apiKey }).environment(environment).fetch();
cli_utilities_1.log.debug('Environment validation API response received', { module: 'tokens-validation', validationResult });
if (validationResult.name === environment) {
cli_utilities_1.log.debug('Environment validation successful', { module: 'tokens-validation', environment, validationResult });
result = { valid: true, message: validationResult };
}
else {
cli_utilities_1.log.debug('Environment validation failed - name mismatch', { module: 'tokens-validation', expected: environment, actual: validationResult.name });
result = { valid: false, message: cli_utilities_1.messageHandler.parse('CLI_AUTH_TOKENS_VALIDATION_INVALID_ENVIRONMENT_NAME') };
}
}
catch (error) {
cli_utilities_1.log.debug('Environment validation API call failed', { module: 'tokens-validation', error: error.message, environment });
(0, cli_utilities_1.handleAndLogError)(error, { apiKey, environment });
result = { valid: false, message: 'CLI_AUTH_TOKENS_VALIDATION_INVALID_ENVIRONMENT_NAME' };
}
cli_utilities_1.log.debug('Environment validation completed', { module: 'tokens-validation', result });
return result;
};
exports.validateEnvironment = validateEnvironment;
/**
* Validate API key
* @param contentStackClient
* @param apiKey
* @returns
*/
const validateAPIKey = async (contentStackClient, apiKey) => {
cli_utilities_1.log.debug('Starting API key validation', { module: 'tokens-validation', apiKeyStatus: apiKey ? 'provided' : 'not-provided' });
let result;
try {
cli_utilities_1.log.debug('Making API key validation API call', { module: 'tokens-validation' });
const validateAPIKeyResult = await contentStackClient.stack({ api_key: apiKey }).fetch();
cli_utilities_1.log.debug('API key validation API response received', { module: 'tokens-validation', validateAPIKeyResult });
if (validateAPIKeyResult.api_key === apiKey) {
cli_utilities_1.log.debug('API key validation successful', { module: 'tokens-validation', apiKey: validateAPIKeyResult.api_key });
result = { valid: true, message: validateAPIKeyResult };
}
else {
cli_utilities_1.log.debug('API key validation failed - key mismatch', { module: 'tokens-validation', expected: apiKey, actual: validateAPIKeyResult.api_key });
result = { valid: false, message: cli_utilities_1.messageHandler.parse('CLI_AUTH_TOKENS_VALIDATION_INVALID_API_KEY') };
}
}
catch (error) {
cli_utilities_1.log.debug('API key validation API call failed', { module: 'tokens-validation', error: error.message });
(0, cli_utilities_1.handleAndLogError)(error, { apiKey });
result = { valid: false, message: cli_utilities_1.messageHandler.parse('CLI_AUTH_TOKENS_VALIDATION_INVALID_API_KEY') };
}
cli_utilities_1.log.debug('API key validation completed', { module: 'tokens-validation', result });
return result;
};
exports.validateAPIKey = validateAPIKey;