UNPKG

rainbow-cli

Version:

Rainbow CLI application based on the Rainbow SDK for Node.js

58 lines (46 loc) 1.53 kB
"use strict"; 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;