Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
9b3af8a50a | |||
78aa36c2be | |||
09d96fd94c |
1
dist/smartssh.classes.helpers.d.ts
vendored
1
dist/smartssh.classes.helpers.d.ts
vendored
@ -1,4 +1,3 @@
|
||||
import "typings-global";
|
||||
import { SshKey } from "./smartssh.classes.sshkey";
|
||||
export declare let sshKeyArrayFromDir: (dirArg: string) => SshKey[];
|
||||
export declare let getKeyIndex: (hostArg: string) => number;
|
||||
|
5
dist/smartssh.classes.helpers.js
vendored
5
dist/smartssh.classes.helpers.js
vendored
@ -4,8 +4,5 @@ exports.sshKeyArrayFromDir = function (dirArg) {
|
||||
var sshKeyArray = []; //TODO
|
||||
return sshKeyArray;
|
||||
};
|
||||
exports.getKeyIndex = function (hostArg) {
|
||||
return 0; //TODO
|
||||
};
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFDUCxDQUFDLENBRHNCO0FBSVosMEJBQWtCLEdBQUcsVUFBUyxNQUFhO0lBQ2xELElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDNUIsTUFBTSxDQUFDLFdBQVcsQ0FBQztBQUN2QixDQUFDLENBQUE7QUFFVSxtQkFBVyxHQUFHLFVBQVMsT0FBYztJQUM1QyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztBQUNyQixDQUFDLENBQUEiLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3NtYXJ0c3NoLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtTc2hLZXl9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3Noa2V5XCI7XHJcblxyXG5leHBvcnQgbGV0IHNzaEtleUFycmF5RnJvbURpciA9IGZ1bmN0aW9uKGRpckFyZzpzdHJpbmcpOlNzaEtleVtde1xyXG4gICAgbGV0IHNzaEtleUFycmF5ID0gW107IC8vVE9ET1xyXG4gICAgcmV0dXJuIHNzaEtleUFycmF5O1xyXG59XHJcblxyXG5leHBvcnQgbGV0IGdldEtleUluZGV4ID0gZnVuY3Rpb24oaG9zdEFyZzpzdHJpbmcpe1xyXG4gICAgcmV0dXJuIDA7IC8vVE9ETyBcclxufSJdfQ==
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFDUCxDQUFDLENBRHNCO0FBSVosMEJBQWtCLEdBQUcsVUFBUyxNQUFhO0lBQ2xELElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDNUIsTUFBTSxDQUFDLFdBQVcsQ0FBQztBQUN2QixDQUFDLENBQUEiLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3NtYXJ0c3NoLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtTc2hLZXl9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3Noa2V5XCI7XHJcblxyXG5leHBvcnQgbGV0IHNzaEtleUFycmF5RnJvbURpciA9IGZ1bmN0aW9uKGRpckFyZzpzdHJpbmcpOlNzaEtleVtde1xyXG4gICAgbGV0IHNzaEtleUFycmF5ID0gW107IC8vVE9ET1xyXG4gICAgcmV0dXJuIHNzaEtleUFycmF5O1xyXG59Il19
|
||||
|
5
dist/smartssh.classes.sshdir.d.ts
vendored
5
dist/smartssh.classes.sshdir.d.ts
vendored
@ -3,8 +3,9 @@ import { SshInstance } from "./smartssh.classes.sshinstance";
|
||||
import { SshKey } from "./smartssh.classes.sshkey";
|
||||
export declare class SshDir {
|
||||
path: string;
|
||||
constructor(sshDirPathArg: string);
|
||||
syncToDir(sshInstanceArg: SshInstance): void;
|
||||
sshInstance: SshInstance;
|
||||
constructor(sshInstanceArg: SshInstance, sshDirPathArg?: string);
|
||||
syncToDir(): void;
|
||||
syncFromDir(): void;
|
||||
getKeys(): SshKey[];
|
||||
}
|
||||
|
6
dist/smartssh.classes.sshdir.js
vendored
6
dist/smartssh.classes.sshdir.js
vendored
@ -3,7 +3,7 @@ require("typings-global");
|
||||
var plugins = require("./smartssh.plugins");
|
||||
var helpers = require("./smartssh.classes.helpers");
|
||||
var SshDir = (function () {
|
||||
function SshDir(sshDirPathArg) {
|
||||
function SshDir(sshInstanceArg, sshDirPathArg) {
|
||||
var sshDirPath;
|
||||
if (sshDirPathArg) {
|
||||
sshDirPath = sshDirPathArg;
|
||||
@ -13,7 +13,7 @@ var SshDir = (function () {
|
||||
}
|
||||
this.path = sshDirPath;
|
||||
}
|
||||
SshDir.prototype.syncToDir = function (sshInstanceArg) {
|
||||
SshDir.prototype.syncToDir = function () {
|
||||
};
|
||||
;
|
||||
SshDir.prototype.syncFromDir = function () {
|
||||
@ -25,4 +25,4 @@ var SshDir = (function () {
|
||||
}());
|
||||
exports.SshDir = SshDir;
|
||||
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUM5QyxJQUFZLE9BQU8sV0FBTSw0QkFBNEIsQ0FBQyxDQUFBO0FBSXREO0lBRUksZ0JBQVksYUFBb0I7UUFDNUIsSUFBSSxVQUFpQixDQUFDO1FBQ3RCLEVBQUUsQ0FBQSxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUM7WUFDZCxVQUFVLEdBQUcsYUFBYSxDQUFDO1FBQy9CLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNELDBCQUFTLEdBQVQsVUFBVSxjQUEwQjtJQUVwQyxDQUFDOztJQUNELDRCQUFXLEdBQVg7SUFFQSxDQUFDO0lBQ0Qsd0JBQU8sR0FBUDtRQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDTCxhQUFDO0FBQUQsQ0FwQkEsQUFvQkMsSUFBQTtBQXBCWSxjQUFNLFNBb0JsQixDQUFBIiwiZmlsZSI6InNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9zbWFydHNzaC5wbHVnaW5zXCI7XHJcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzXCI7XHJcbmltcG9ydCB7U3NoSW5zdGFuY2V9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2VcIjtcclxuaW1wb3J0IHtTc2hLZXl9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3Noa2V5XCI7XHJcbmltcG9ydCB7U3NoQ29uZmlnfSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGNvbmZpZ1wiO1xyXG5leHBvcnQgY2xhc3MgU3NoRGlyIHsgLy8gc3NoRGlyIGNsYXNzIC0+IE5PVCBFWFBPUlRFRCwgT05MWSBGT1IgSU5URVJOQUwgVVNFXHJcbiAgICBwYXRoOnN0cmluZzsgLy8gdGhlIHBhdGggb2YgdGhlIHNzaCBkaXJlY3RvcnlcclxuICAgIGNvbnN0cnVjdG9yKHNzaERpclBhdGhBcmc6c3RyaW5nKXtcclxuICAgICAgICBsZXQgc3NoRGlyUGF0aDpzdHJpbmc7XHJcbiAgICAgICAgaWYoc3NoRGlyUGF0aEFyZyl7XHJcbiAgICAgICAgICAgIHNzaERpclBhdGggPSBzc2hEaXJQYXRoQXJnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNzaERpclBhdGggPSBwbHVnaW5zLnNtYXJ0cGF0aC5nZXQuaG9tZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnBhdGggPSBzc2hEaXJQYXRoO1xyXG4gICAgfVxyXG4gICAgc3luY1RvRGlyKHNzaEluc3RhbmNlQXJnOlNzaEluc3RhbmNlKXsgLy9zeW5jcyBcclxuICAgICAgICBcclxuICAgIH07XHJcbiAgICBzeW5jRnJvbURpcigpe1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgZ2V0S2V5cygpe1xyXG4gICAgICAgIHJldHVybiBoZWxwZXJzLnNzaEtleUFycmF5RnJvbURpcih0aGlzLnBhdGgpO1xyXG4gICAgfVxyXG59Il19
|
||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUM5QyxJQUFZLE9BQU8sV0FBTSw0QkFBNEIsQ0FBQyxDQUFBO0FBSXREO0lBR0ksZ0JBQVksY0FBMEIsRUFBQyxhQUFxQjtRQUN4RCxJQUFJLFVBQWlCLENBQUM7UUFDdEIsRUFBRSxDQUFBLENBQUMsYUFBYSxDQUFDLENBQUEsQ0FBQztZQUNkLFVBQVUsR0FBRyxhQUFhLENBQUM7UUFDL0IsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsMEJBQVMsR0FBVDtJQUVBLENBQUM7O0lBQ0QsNEJBQVcsR0FBWDtJQUVBLENBQUM7SUFDRCx3QkFBTyxHQUFQO1FBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNMLGFBQUM7QUFBRCxDQXJCQSxBQXFCQyxJQUFBO0FBckJZLGNBQU0sU0FxQmxCLENBQUEiLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5zc2hkaXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiO1xyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3NtYXJ0c3NoLnBsdWdpbnNcIjtcclxuaW1wb3J0ICogYXMgaGVscGVycyBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLmhlbHBlcnNcIjtcclxuaW1wb3J0IHtTc2hJbnN0YW5jZX0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hpbnN0YW5jZVwiO1xyXG5pbXBvcnQge1NzaEtleX0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hrZXlcIjtcclxuaW1wb3J0IHtTc2hDb25maWd9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnXCI7XHJcbmV4cG9ydCBjbGFzcyBTc2hEaXIgeyAvLyBzc2hEaXIgY2xhc3MgLT4gTk9UIEVYUE9SVEVELCBPTkxZIEZPUiBJTlRFUk5BTCBVU0VcclxuICAgIHBhdGg6c3RyaW5nOyAvLyB0aGUgcGF0aCBvZiB0aGUgc3NoIGRpcmVjdG9yeVxyXG4gICAgc3NoSW5zdGFuY2U6U3NoSW5zdGFuY2U7XHJcbiAgICBjb25zdHJ1Y3Rvcihzc2hJbnN0YW5jZUFyZzpTc2hJbnN0YW5jZSxzc2hEaXJQYXRoQXJnPzpzdHJpbmcpe1xyXG4gICAgICAgIGxldCBzc2hEaXJQYXRoOnN0cmluZztcclxuICAgICAgICBpZihzc2hEaXJQYXRoQXJnKXtcclxuICAgICAgICAgICAgc3NoRGlyUGF0aCA9IHNzaERpclBhdGhBcmc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3NoRGlyUGF0aCA9IHBsdWdpbnMuc21hcnRwYXRoLmdldC5ob21lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucGF0aCA9IHNzaERpclBhdGg7XHJcbiAgICB9XHJcbiAgICBzeW5jVG9EaXIoKXsgLy9zeW5jcyBcclxuICAgICAgICBcclxuICAgIH07XHJcbiAgICBzeW5jRnJvbURpcigpe1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgZ2V0S2V5cygpe1xyXG4gICAgICAgIHJldHVybiBoZWxwZXJzLnNzaEtleUFycmF5RnJvbURpcih0aGlzLnBhdGgpO1xyXG4gICAgfVxyXG59Il19
|
||||
|
10
dist/smartssh.classes.sshinstance.d.ts
vendored
10
dist/smartssh.classes.sshinstance.d.ts
vendored
@ -3,16 +3,16 @@ import { SshKey } from "./smartssh.classes.sshkey";
|
||||
export declare class SshInstance {
|
||||
private sshConfig;
|
||||
private sshDir;
|
||||
private sshKeys;
|
||||
private sshKeyArray;
|
||||
private sshSync;
|
||||
constructor(optionsArg?: {
|
||||
sshDir?: string;
|
||||
sshDirPath?: string;
|
||||
sshSync?: boolean;
|
||||
});
|
||||
addKey(sshKeyArg: SshKey): void;
|
||||
getKey(hostArg: string): SshKey;
|
||||
getKeys(): SshKey[];
|
||||
removeKey(sshKeyArg: SshKey): void;
|
||||
replaceKey(sshKeyOldArg: SshKey, sshKeyNewArg: SshKey): void;
|
||||
sync(): void;
|
||||
getKey(hostArg: string): SshKey;
|
||||
sshKeys: SshKey[];
|
||||
sync(directionArg: string): void;
|
||||
}
|
||||
|
69
dist/smartssh.classes.sshinstance.js
vendored
69
dist/smartssh.classes.sshinstance.js
vendored
File diff suppressed because one or more lines are too long
4
dist/smartssh.classes.sshkey.js
vendored
4
dist/smartssh.classes.sshkey.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "smartssh",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.4",
|
||||
"description": "setups SSH quickly and in a painless manner",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
|
25
test/test.js
25
test/test.js
File diff suppressed because one or more lines are too long
23
test/test.ts
23
test/test.ts
@ -5,11 +5,11 @@ describe("smartssh",function(){
|
||||
let testSshInstance:smartssh.SshInstance;
|
||||
let testSshKey:smartssh.SshKey;
|
||||
describe("SshInstance",function(){
|
||||
it("should create a new SshInstance object from class",function(){
|
||||
it("'new' keyword should create a new SshInstance object from class",function(){
|
||||
testSshInstance = new smartssh.SshInstance();
|
||||
testSshInstance.should.be.instanceof(smartssh.SshInstance);
|
||||
});
|
||||
it("should accept a new SshKey object",function(){
|
||||
it(".addKey() should accept a new SshKey object",function(){
|
||||
testSshInstance.addKey(new smartssh.SshKey({
|
||||
public:"somePublicKey",
|
||||
private:"somePrivateKey",
|
||||
@ -21,13 +21,24 @@ describe("smartssh",function(){
|
||||
host:"bitbucket.org"
|
||||
}));
|
||||
testSshInstance.addKey(new smartssh.SshKey({
|
||||
public:"somePublicKey",
|
||||
private:"somePrivateKey",
|
||||
public:"someGitHubPublicKey",
|
||||
private:"someGitHubPrivateKey",
|
||||
host:"github.com"
|
||||
}));
|
||||
});
|
||||
it("should return an array of sshKeys",function(){
|
||||
testSshInstance.getKeys();
|
||||
it(".sshKeys should point to an array of sshKeys",function(){
|
||||
let sshKeyArray = testSshInstance.sshKeys;
|
||||
sshKeyArray.should.be.Array();
|
||||
sshKeyArray[0].host.should.equal("gitlab.com");
|
||||
sshKeyArray[1].host.should.equal("bitbucket.org");
|
||||
sshKeyArray[2].host.should.equal("github.com");
|
||||
});
|
||||
it(".getKey() should get a specific key selected by host",function(){
|
||||
testSshInstance.getKey("github.com").publicKey.should.equal("someGitHubPublicKey");
|
||||
})
|
||||
it(".removeKey() should remove a key",function(){
|
||||
testSshInstance.removeKey(testSshInstance.getKey("bitbucket.org"));
|
||||
testSshInstance.sshKeys[1].host.should.equal("github.com");
|
||||
})
|
||||
})
|
||||
})
|
@ -5,8 +5,4 @@ import {SshKey} from "./smartssh.classes.sshkey";
|
||||
export let sshKeyArrayFromDir = function(dirArg:string):SshKey[]{
|
||||
let sshKeyArray = []; //TODO
|
||||
return sshKeyArray;
|
||||
}
|
||||
|
||||
export let getKeyIndex = function(hostArg:string){
|
||||
return 0; //TODO
|
||||
}
|
@ -6,7 +6,8 @@ import {SshKey} from "./smartssh.classes.sshkey";
|
||||
import {SshConfig} from "./smartssh.classes.sshconfig";
|
||||
export class SshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE
|
||||
path:string; // the path of the ssh directory
|
||||
constructor(sshDirPathArg:string){
|
||||
sshInstance:SshInstance;
|
||||
constructor(sshInstanceArg:SshInstance,sshDirPathArg?:string){
|
||||
let sshDirPath:string;
|
||||
if(sshDirPathArg){
|
||||
sshDirPath = sshDirPathArg;
|
||||
@ -15,7 +16,7 @@ export class SshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE
|
||||
}
|
||||
this.path = sshDirPath;
|
||||
}
|
||||
syncToDir(sshInstanceArg:SshInstance){ //syncs
|
||||
syncToDir(){ //syncs
|
||||
|
||||
};
|
||||
syncFromDir(){
|
||||
|
@ -9,20 +9,43 @@ import {SshKey} from "./smartssh.classes.sshkey";
|
||||
export class SshInstance {
|
||||
private sshConfig:SshConfig; // sshConfig (e.g. represents ~/.ssh/config)
|
||||
private sshDir:SshDir; // points to sshDir class instance.
|
||||
private sshKeys:SshKey[]; //holds all ssh keys
|
||||
private sshKeyArray:SshKey[]; //holds all ssh keys
|
||||
private sshSync:boolean; // if set to true, the ssh dir will be kept in sync automatically
|
||||
constructor(optionsArg:{sshDir?:string,sshSync?:boolean}={}){
|
||||
constructor(optionsArg:{sshDirPath?:string,sshSync?:boolean}={}){
|
||||
optionsArg ? void(0) : optionsArg = {};
|
||||
this.sshDir = new SshDir(optionsArg.sshDir);
|
||||
this.sshKeys = this.sshDir.getKeys();
|
||||
|
||||
this.sshDir = new SshDir(this,optionsArg.sshDirPath);
|
||||
this.sshKeyArray = this.sshDir.getKeys();
|
||||
this.sshSync = optionsArg.sshSync;
|
||||
};
|
||||
|
||||
//altering methods
|
||||
addKey(sshKeyArg:SshKey){
|
||||
this.sshKeys.push(sshKeyArg);
|
||||
this.sync();
|
||||
this.sync("from");
|
||||
this.sshKeyArray.push(sshKeyArg);
|
||||
this.sync("to");
|
||||
};
|
||||
getKey(hostArg:string){
|
||||
let filteredArray = this.sshKeys.filter(function(keyArg){
|
||||
removeKey(sshKeyArg:SshKey){
|
||||
this.sync("from");
|
||||
let filteredArray = this.sshKeyArray.filter((sshKeyArg2:SshKey) => {
|
||||
return (sshKeyArg != sshKeyArg2);
|
||||
});
|
||||
this.sshKeyArray = filteredArray;
|
||||
this.sync("to");
|
||||
};
|
||||
replaceKey(sshKeyOldArg:SshKey,sshKeyNewArg:SshKey){
|
||||
this.sync("from");
|
||||
let filteredArray = this.sshKeyArray.filter((sshKeyArg:SshKey) => {
|
||||
return (sshKeyArg.host == "some"); //TODO
|
||||
});
|
||||
this.sshKeyArray = filteredArray;
|
||||
this.sync("to");
|
||||
};
|
||||
|
||||
//
|
||||
getKey(hostArg:string):SshKey{
|
||||
this.sync("from");
|
||||
let filteredArray = this.sshKeyArray.filter(function(keyArg){
|
||||
return (keyArg.host == hostArg);
|
||||
});
|
||||
if(filteredArray.length > 0){
|
||||
@ -31,24 +54,16 @@ export class SshInstance {
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
|
||||
getKeys(){
|
||||
return this.sshKeys;
|
||||
get sshKeys():SshKey[] {
|
||||
return this.sshKeyArray;
|
||||
}
|
||||
|
||||
removeKey(sshKeyArg:SshKey){
|
||||
let keyIndex = helpers.getKeyIndex(sshKeyArg.host);
|
||||
this.sshKeys.splice(keyIndex,1);
|
||||
this.sync();
|
||||
};
|
||||
replaceKey(sshKeyOldArg:SshKey,sshKeyNewArg:SshKey){
|
||||
let keyIndex = helpers.getKeyIndex(sshKeyOldArg.host);
|
||||
this.sshKeys.splice(keyIndex,1,sshKeyNewArg);
|
||||
this.sync();
|
||||
};
|
||||
sync(){
|
||||
if(this.sshSync){
|
||||
this.sshDir.sync(this.sshConfig,this.sshKeys); // call sync method of sshDir class;
|
||||
sync(directionArg:string){
|
||||
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'");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ export class SshKey {
|
||||
return plugins.base64.encode(this.privKey);
|
||||
}
|
||||
get publicKey(){
|
||||
return this.publicKey;
|
||||
return this.pubKey;
|
||||
}
|
||||
get publicKeyBase64(){
|
||||
return plugins.base64.encode(this.pubKey);
|
||||
|
Reference in New Issue
Block a user