tyr-cli
Version:
A command line interface for hammer-io.
48 lines (42 loc) • 4.31 kB
JavaScript
;Object.defineProperty(exports, "__esModule", { value: true });exports.createApp = exports.isValidCredentials = undefined;
/**
* Checks if the user's heroku credentials are valid by requesting account information.
* @param email the email
* @param password the password
* @returns {Boolean} true if valid, false if invalid, throws error if something went wrong
* connecting to the api
*/let isValidCredentials = exports.isValidCredentials = (() => {var _ref = _asyncToGenerator(
function* (email, password) {
log.verbose('Heroku Service - isValidCredentials()');
try {
yield herokuClient.getCurrentUser(email, password);
return true;
} catch (error) {
if (error.status !== 401) {
throw new Error('Something went wrong contacting the Heroku API!');
} else {
return false;
}
}
});return function isValidCredentials(_x, _x2) {return _ref.apply(this, arguments);};})();
/**
* Creates a new Heroku application for a user
* @param appName the application name
* @param token the token for authentication
* @returns {Boolean} returns true if the app was created successfully, returns false if there
* was a 422 error (meaning the app name was not available), throws an error for any other type
* of error.
*/let createApp = exports.createApp = (() => {var _ref2 = _asyncToGenerator(
function* (appName, token) {
log.verbose('Heroku Service - createApp()');
try {
yield herokuClient.createApp(appName, token);
return true;
} catch (error) {
if (error.status === 422 && error.response.body.message === 'Name is already taken') {
log.debug('ERROR: Application Name is already in use on Heroku');
return false;
}
throw new Error('Unable to create Heroku Application');
}
});return function createApp(_x3, _x4) {return _ref2.apply(this, arguments);};})();var _herokuClient = require('../clients/heroku-client');var herokuClient = _interopRequireWildcard(_herokuClient);var _winston = require('../utils/winston');function _interopRequireWildcard(obj) {if (obj && obj.__esModule) {return obj;} else {var newObj = {};if (obj != null) {for (var key in obj) {if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];}}newObj.default = obj;return newObj;}}function _asyncToGenerator(fn) {return function () {var gen = fn.apply(this, arguments);return new Promise(function (resolve, reject) {function step(key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {return Promise.resolve(value).then(function (value) {step("next", value);}, function (err) {step("throw", err);});}}return step("next");});};} /* eslint-disable import/prefer-default-export */const log = (0, _winston.getActiveLogger)();