rainbow-cli
Version:
Rainbow CLI application based on the Rainbow SDK for Node.js
58 lines (46 loc) • 1.53 kB
JavaScript
;
const NodeSDK = require('../common/SDK');
const Message = require('../common/Message');
const Exit = require('../common/Exit');
class CBusiness {
constructor(prefs) {
this._prefs = prefs;
}
_changeOfferTypeToPremium(token, id) {
return new Promise(function(resolve, reject) {
NodeSDK.put("/api/rainbow/admin/v1.0/companies/" + id, token, { offerType: "premium" })
.then(function (json) {
resolve(json);
})
.catch(function (err) {
reject(err);
});
});
}
changeOfferTypeToPremium(id, options) {
var that = this;
Message.welcome(options);
if(this._prefs.token && this._prefs.user) {
Message.loggedin(this._prefs, options);
Message.action("Change company offer type to premium", id, options);
NodeSDK.start(this._prefs.email, this._prefs.password, this._prefs.host, this._prefs.proxy, this._prefs.appid, this._prefs.appsecret).then(function() {
Message.log("execute action...");
return that._changeOfferTypeToPremium(that._prefs.token, id);
}).then(function(json) {
Message.log("action done...", json);
Message.lineFeed();
Message.success(options);
Message.printSuccess("Company updated");
Message.log("finished! will exit!");
Exit.ok();
}).catch(function(err) {
Message.error(err, options);
Exit.error();
});
}
else {
Message.notLoggedIn(options);
}
}
}
module.exports = CBusiness;