UNPKG

@devmn/cloud-cli

Version:

CLI tool for Intelligo Cloud.

38 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Constants_1 = require("../utils/Constants"); const StorageHelper_1 = require("../utils/StorageHelper"); const ApiManager_1 = require("./ApiManager"); function hashCode(str) { let hash = 0; let i; let chr; if (str.length === 0) { return hash; } for (i = 0; i < str.length; i++) { chr = str.charCodeAt(i); hash = (hash << 5) - hash + chr; hash |= 0; // Convert to 32bit integer } return hash; } class CliApiManager { static get(capMachine) { const hashKey = 'v' + hashCode(capMachine.baseUrl); if (!CliApiManager.instances[hashKey]) { CliApiManager.instances[hashKey] = new ApiManager_1.default(capMachine.baseUrl + Constants_1.default.BASE_API_PATH, capMachine.appToken, function (token) { capMachine.authToken = token; if (capMachine.name) { StorageHelper_1.default.get().saveMachine(capMachine); } return Promise.resolve(); }); } CliApiManager.instances[hashKey].setAuthToken(capMachine.authToken); return CliApiManager.instances[hashKey]; } } CliApiManager.instances = {}; exports.default = CliApiManager; //# sourceMappingURL=CliApiManager.js.map