UNPKG

@axway/axway-central-cli

Version:

Manage APIs, services and publish to the Amplify Marketplace

46 lines (45 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleErrors = void 0; var _cliKit = require("cli-kit"); // TODO: used by legacy "proxies" command only, will be removed soon // https://jira.axway.com/browse/APIGOV-20818 const handleErrors = (console, e, spinner) => { if (e.errors && Array.isArray(e.errors)) { const error = e.errors[0]; if (spinner) { switch (error.status) { case 401: spinner.fail((0, _cliKit.chalk)`{red Error: ${error.title || `Looks like you're not authenticated!`}}`); console.info('\nTry running:'); console.info((0, _cliKit.chalk)`{cyan axway auth login}`); console.info('Or if using a service account:'); console.info((0, _cliKit.chalk)`{cyan axway auth login --client-id <Service Account Client ID> --secret-file <Private Key>}`); break; case 403: spinner.fail((0, _cliKit.chalk)`{red ${error.detail}}`); break; case 400: spinner.fail((0, _cliKit.chalk)`{red Error: ${error.detail || error.title}}`); if (error.source) console.log((0, _cliKit.chalk)`{gray Caused by: ${JSON.stringify(error.source)}}`); break; case 404: case 409: spinner.fail((0, _cliKit.chalk)`{red ${error.title}\n{blueBright ${error.detail}}}`); break; default: spinner.fail((0, _cliKit.chalk)`{red An error occurred}`); } } else { console.error(error); } process.exit(1); } else if (e instanceof Error) { let message = e.name === 'TimeoutError' ? `Couldn't connect to Amplify Central` : e.message; spinner ? spinner.fail((0, _cliKit.chalk)`{red ${message}}`) : console.error(message); process.exit(1); } else throw e; }; exports.handleErrors = handleErrors;