smartssh/dist/smartssh.classes.sshinstance.js
2016-06-14 00:27:55 +02:00

75 lines
8.2 KiB
JavaScript

"use strict";
require("typings-global");
var smartssh_classes_sshdir_1 = require("./smartssh.classes.sshdir");
var SshInstance = (function () {
function SshInstance(optionsArg) {
if (optionsArg === void 0) { optionsArg = {}; }
optionsArg ? void (0) : optionsArg = {};
this.sshDir = new smartssh_classes_sshdir_1.SshDir(this, optionsArg.sshDirPath);
this.sshKeyArray = [];
this.sshSync = optionsArg.sshSync;
}
;
//altering methods
SshInstance.prototype.addKey = function (sshKeyArg) {
this.sync("from");
this.sshKeyArray.push(sshKeyArg);
this.sync("to");
};
;
SshInstance.prototype.removeKey = function (sshKeyArg) {
this.sync("from");
var filteredArray = this.sshKeyArray.filter(function (sshKeyArg2) {
return (sshKeyArg != sshKeyArg2);
});
this.sshKeyArray = filteredArray;
this.sync("to");
};
;
SshInstance.prototype.replaceKey = function (sshKeyOldArg, sshKeyNewArg) {
this.sync("from");
this.removeKey(sshKeyOldArg);
this.addKey(sshKeyNewArg);
this.sync("to");
};
;
//
SshInstance.prototype.getKey = function (hostArg) {
this.sync("from");
var filteredArray = this.sshKeyArray.filter(function (keyArg) {
return (keyArg.host == hostArg);
});
if (filteredArray.length > 0) {
return filteredArray[0];
}
else {
return undefined;
}
};
;
Object.defineProperty(SshInstance.prototype, "sshKeys", {
get: function () {
this.sync("from");
return this.sshKeyArray;
},
enumerable: true,
configurable: true
});
SshInstance.prototype.sync = function (directionArg) {
if (this.sshSync && directionArg == "from") {
this.sshDir.syncFromDir(); // call sync method of sshDir class;
}
else if (this.sshSync && directionArg == "to") {
this.sshDir.syncToDir();
}
else if (this.sshSync) {
throw new Error("directionArg not recognised. Must be 'to' or 'from'");
}
};
;
return SshInstance;
}());
exports.SshInstance = SshInstance;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQ1AsQ0FBQyxDQURzQjtBQUl2Qix3Q0FBcUIsMkJBQTJCLENBQUMsQ0FBQTtBQUlqRDtJQUtJLHFCQUFZLFVBQW1EO1FBQW5ELDBCQUFtRCxHQUFuRCxlQUFtRDtRQUMzRCxVQUFVLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdDQUFNLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQzs7SUFFRCxrQkFBa0I7SUFDbEIsNEJBQU0sR0FBTixVQUFPLFNBQWdCO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDOztJQUNELCtCQUFTLEdBQVQsVUFBVSxTQUFnQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQUMsVUFBaUI7WUFDMUQsTUFBTSxDQUFDLENBQUMsU0FBUyxJQUFJLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDOztJQUNELGdDQUFVLEdBQVYsVUFBVyxZQUFtQixFQUFDLFlBQW1CO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7SUFFRCxFQUFFO0lBQ0YsNEJBQU0sR0FBTixVQUFPLE9BQWM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFTLE1BQU07WUFDdkQsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUN6QixNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7O0lBQ0Qsc0JBQUksZ0NBQU87YUFBWDtZQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDNUIsQ0FBQzs7O09BQUE7SUFDRCwwQkFBSSxHQUFKLFVBQUssWUFBbUI7UUFDcEIsRUFBRSxDQUFBLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxZQUFZLElBQUksTUFBTSxDQUFDLENBQUEsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsb0NBQW9DO1FBQ25FLENBQUM7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFBLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDTCxDQUFDOztJQUNMLGtCQUFDO0FBQUQsQ0ExREEsQUEwREMsSUFBQTtBQTFEWSxtQkFBVyxjQTBEdkIsQ0FBQSIsImZpbGUiOiJzbWFydHNzaC5jbGFzc2VzLnNzaGluc3RhbmNlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9zbWFydHNzaC5wbHVnaW5zXCI7XG5pbXBvcnQgKiBhcyBoZWxwZXJzIGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuaGVscGVyc1wiO1xuXG5pbXBvcnQge1NzaERpcn0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hkaXJcIjtcbmltcG9ydCB7U3NoQ29uZmlnfSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGNvbmZpZ1wiO1xuaW1wb3J0IHtTc2hLZXl9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3Noa2V5XCI7XG5cbmV4cG9ydCBjbGFzcyBTc2hJbnN0YW5jZSB7XG4gICAgcHJpdmF0ZSBzc2hDb25maWc6U3NoQ29uZmlnOyAvLyBzc2hDb25maWcgKGUuZy4gcmVwcmVzZW50cyB+Ly5zc2gvY29uZmlnKVxuICAgIHByaXZhdGUgc3NoRGlyOlNzaERpcjsgLy8gcG9pbnRzIHRvIHNzaERpciBjbGFzcyBpbnN0YW5jZS5cbiAgICBwcm90ZWN0ZWQgc3NoS2V5QXJyYXk6U3NoS2V5W107IC8vaG9sZHMgYWxsIHNzaCBrZXlzXG4gICAgcHJpdmF0ZSBzc2hTeW5jOmJvb2xlYW47IC8vIGlmIHNldCB0byB0cnVlLCB0aGUgc3NoIGRpciB3aWxsIGJlIGtlcHQgaW4gc3luYyBhdXRvbWF0aWNhbGx5XG4gICAgY29uc3RydWN0b3Iob3B0aW9uc0FyZzp7c3NoRGlyUGF0aD86c3RyaW5nLHNzaFN5bmM/OmJvb2xlYW59PXt9KXtcbiAgICAgICAgb3B0aW9uc0FyZyA/IHZvaWQoMCkgOiBvcHRpb25zQXJnID0ge307XG4gICAgICAgIHRoaXMuc3NoRGlyID0gbmV3IFNzaERpcih0aGlzLG9wdGlvbnNBcmcuc3NoRGlyUGF0aCk7XG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkgPSBbXTtcbiAgICAgICAgdGhpcy5zc2hTeW5jID0gb3B0aW9uc0FyZy5zc2hTeW5jO1xuICAgIH07XG4gICAgXG4gICAgLy9hbHRlcmluZyBtZXRob2RzXG4gICAgYWRkS2V5KHNzaEtleUFyZzpTc2hLZXkpe1xuICAgICAgICB0aGlzLnN5bmMoXCJmcm9tXCIpO1xuICAgICAgICB0aGlzLnNzaEtleUFycmF5LnB1c2goc3NoS2V5QXJnKTtcbiAgICAgICAgdGhpcy5zeW5jKFwidG9cIik7XG4gICAgfTtcbiAgICByZW1vdmVLZXkoc3NoS2V5QXJnOlNzaEtleSl7XG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XG4gICAgICAgIGxldCBmaWx0ZXJlZEFycmF5ID0gdGhpcy5zc2hLZXlBcnJheS5maWx0ZXIoKHNzaEtleUFyZzI6U3NoS2V5KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKHNzaEtleUFyZyAhPSBzc2hLZXlBcmcyKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkgPSBmaWx0ZXJlZEFycmF5O1xuICAgICAgICB0aGlzLnN5bmMoXCJ0b1wiKTtcbiAgICB9O1xuICAgIHJlcGxhY2VLZXkoc3NoS2V5T2xkQXJnOlNzaEtleSxzc2hLZXlOZXdBcmc6U3NoS2V5KXtcbiAgICAgICAgdGhpcy5zeW5jKFwiZnJvbVwiKTtcbiAgICAgICAgdGhpcy5yZW1vdmVLZXkoc3NoS2V5T2xkQXJnKTtcbiAgICAgICAgdGhpcy5hZGRLZXkoc3NoS2V5TmV3QXJnKTtcbiAgICAgICAgdGhpcy5zeW5jKFwidG9cIik7XG4gICAgfTtcbiAgICBcbiAgICAvL1xuICAgIGdldEtleShob3N0QXJnOnN0cmluZyk6U3NoS2V5e1xuICAgICAgICB0aGlzLnN5bmMoXCJmcm9tXCIpO1xuICAgICAgICBsZXQgZmlsdGVyZWRBcnJheSA9IHRoaXMuc3NoS2V5QXJyYXkuZmlsdGVyKGZ1bmN0aW9uKGtleUFyZyl7XG4gICAgICAgICAgICByZXR1cm4gKGtleUFyZy5ob3N0ID09IGhvc3RBcmcpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYoZmlsdGVyZWRBcnJheS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZEFycmF5WzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZ2V0IHNzaEtleXMoKTpTc2hLZXlbXSB7XG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XG4gICAgICAgIHJldHVybiB0aGlzLnNzaEtleUFycmF5O1xuICAgIH1cbiAgICBzeW5jKGRpcmVjdGlvbkFyZzpzdHJpbmcpe1xuICAgICAgICBpZih0aGlzLnNzaFN5bmMgJiYgZGlyZWN0aW9uQXJnID09IFwiZnJvbVwiKXtcbiAgICAgICAgICAgIHRoaXMuc3NoRGlyLnN5bmNGcm9tRGlyKCk7IC8vIGNhbGwgc3luYyBtZXRob2Qgb2Ygc3NoRGlyIGNsYXNzO1xuICAgICAgICB9IGVsc2UgaWYodGhpcy5zc2hTeW5jICYmIGRpcmVjdGlvbkFyZyA9PSBcInRvXCIpIHtcbiAgICAgICAgICAgIHRoaXMuc3NoRGlyLnN5bmNUb0RpcigpO1xuICAgICAgICB9IGVsc2UgaWYodGhpcy5zc2hTeW5jKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkaXJlY3Rpb25Bcmcgbm90IHJlY29nbmlzZWQuIE11c3QgYmUgJ3RvJyBvciAnZnJvbSdcIik7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5cbiJdfQ==