restructure class files
This commit is contained in:
parent
d12c7ab621
commit
eb66ed0244
@ -1,3 +1,3 @@
|
|||||||
import "typings-global"
|
import "typings-global"
|
||||||
import plugins = require("./smartssh.plugins");
|
import * as plugins from "./smartssh.plugins";
|
||||||
import classes = require("./smartssh.classes");
|
import {} from "./smartssh.classes.ssh";
|
48
ts/smartssh.classes.ssh.ts
Normal file
48
ts/smartssh.classes.ssh.ts
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import "typings-global"
|
||||||
|
import * as plugins from "./smartssh.plugins";
|
||||||
|
import * as helpers from "./smartssh.classes.helpers";
|
||||||
|
|
||||||
|
import {sshDir} from "./smartssh.classes.sshdir";
|
||||||
|
|
||||||
|
export class ssh {
|
||||||
|
private sshConfig:sshConfig; // points to sshConfig class instance
|
||||||
|
private sshDir:sshDir; // points to sshDir class instance.
|
||||||
|
private sshKeys: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}={}){
|
||||||
|
this.sshDir = new sshDir(optionsArg.sshDir);
|
||||||
|
this.sshKeys = this.sshDir.getKeys();
|
||||||
|
this.sshSync = optionsArg.sshSync;
|
||||||
|
};
|
||||||
|
addKey(sshKeyArg:sshKey){
|
||||||
|
this.sshKeys.push(sshKeyArg);
|
||||||
|
this.sync();
|
||||||
|
};
|
||||||
|
getKey(hostArg:string){
|
||||||
|
let filteredArray = this.sshKeys.filter(function(keyArg){
|
||||||
|
return (keyArg.host == hostArg);
|
||||||
|
});
|
||||||
|
if(filteredArray.length > 0){
|
||||||
|
return filteredArray[0];
|
||||||
|
} else {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
8
ts/smartssh.classes.sshconfig.ts
Normal file
8
ts/smartssh.classes.sshconfig.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import "typings-global";
|
||||||
|
import * as plugins from "./smartssh.plugins";
|
||||||
|
import * as helpers from "./smartssh.classes.helpers";
|
||||||
|
export class sshConfig {
|
||||||
|
constructor(){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
16
ts/smartssh.classes.sshdir.ts
Normal file
16
ts/smartssh.classes.sshdir.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import "typings-global";
|
||||||
|
import * as plugins from "./smartssh.plugins";
|
||||||
|
import * as helpers from "./smartssh.classes.helpers";
|
||||||
|
import {sshKey} from "./smartssh.classes.sshkey";
|
||||||
|
export class sshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE
|
||||||
|
path:string;
|
||||||
|
constructor(sshDirPathArg:string){
|
||||||
|
this.path = sshDirPathArg;
|
||||||
|
}
|
||||||
|
sync(sshConfigArg:sshConfig,sshKeysArg:sshKey[]){
|
||||||
|
|
||||||
|
};
|
||||||
|
getKeys(){
|
||||||
|
return helpers.sshKeyArrayFromDir(this.path);
|
||||||
|
}
|
||||||
|
}
|
@ -1,66 +1,6 @@
|
|||||||
import "typings-global"
|
import "typings-global";
|
||||||
import plugins = require("./smartssh.plugins");
|
import * as plugins from "./smartssh.plugins";
|
||||||
import helpers = require("./smartssh.classes.helpers");
|
import * as helpers from "./smartssh.classes.helpers";
|
||||||
|
|
||||||
export class ssh {
|
|
||||||
private sshConfig:sshConfig; // points to sshConfig class instance
|
|
||||||
private sshDir:sshDir; // points to sshDir class instance.
|
|
||||||
private sshKeys: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}={}){
|
|
||||||
this.sshDir = new sshDir(optionsArg.sshDir);
|
|
||||||
this.sshKeys = this.sshDir.getKeys();
|
|
||||||
this.sshSync = optionsArg.sshSync;
|
|
||||||
};
|
|
||||||
addKey(sshKeyArg:sshKey){
|
|
||||||
this.sshKeys.push(sshKeyArg);
|
|
||||||
this.sync();
|
|
||||||
};
|
|
||||||
getKey(hostArg:string){
|
|
||||||
let filteredArray = this.sshKeys.filter(function(keyArg){
|
|
||||||
return (keyArg.host == hostArg);
|
|
||||||
});
|
|
||||||
if(filteredArray.length > 0){
|
|
||||||
return filteredArray[0];
|
|
||||||
} else {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
class sshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE
|
|
||||||
path:string;
|
|
||||||
constructor(sshDirPathArg:string){
|
|
||||||
this.path = sshDirPathArg;
|
|
||||||
}
|
|
||||||
sync(sshConfigArg:sshConfig,sshKeysArg:sshKey[]){
|
|
||||||
|
|
||||||
};
|
|
||||||
getKeys(){
|
|
||||||
return helpers.sshKeyArrayFromDir(this.path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class sshConfig {
|
|
||||||
constructor(){
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class sshKey {
|
export class sshKey {
|
||||||
private privKey:string;
|
private privKey:string;
|
Loading…
x
Reference in New Issue
Block a user