liveperson-functions-cli
Version:
LivePerson Functions CLI
53 lines • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddController = void 0;
// tslint:disable:no-shadowed-variable
const add_view_1 = require("../view/add.view");
const login_controller_1 = require("./login.controller");
const faasFactory_service_1 = require("../service/faasFactory.service");
const errorCodes_1 = require("../shared/errorCodes");
class AddController {
constructor(
/* istanbul ignore next */ { addView = new add_view_1.AddView(), loginController = new login_controller_1.LoginController(), } = {}) {
this.addView = addView;
this.loginController = loginController;
}
/**
*
* @param {domainUrl} - Passed function name and flags
* @returns {Promise<void>} - create view
* @memberof AddController
*/
async addDomains(domains = []) {
if (domains.length === 0) {
const error = {
message: "Please add domains to the command's arguments",
suggestions: ['Use "lpf add:domain --help" for more information'],
ref: 'https://github.com/LivePersonInc/faas-cli#add',
code: errorCodes_1.CLIErrorCodes.NoLambdasFound,
};
this.addView.showErrorMessage(error);
throw new Error('exit');
}
const isUserLoggedIn = await this.isUserLoggedIn();
if (!isUserLoggedIn) {
this.addView.showMessage('You have to be logged-in to add domains to your account.');
await this.loginController.getLoginInformation();
}
const faasService = await faasFactory_service_1.factory.get();
domains.forEach(async (domain) => {
try {
await faasService.addDomain(domain);
this.addView.showDomainAdded(domain);
}
catch (error) {
this.addView.showErrorMessage(error.message || error.errorMsg);
}
});
}
async isUserLoggedIn() {
return this.loginController.isUserLoggedIn();
}
}
exports.AddController = AddController;
//# sourceMappingURL=add.controller.js.map