UNPKG

@contentstack/cli-auth

Version:

Contentstack CLI plugin for authentication activities

68 lines (67 loc) 3.9 kB
"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;