fix(core): update
This commit is contained in:
@@ -1,54 +1,60 @@
|
||||
import 'typings-global'
|
||||
import * as plugins from './smartssh.plugins'
|
||||
import * as helpers from './smartssh.classes.helpers'
|
||||
import {SshKey} from './smartssh.classes.sshkey'
|
||||
import * as plugins from './smartssh.plugins';
|
||||
import * as helpers from './smartssh.classes.helpers';
|
||||
import { SshKey } from './smartssh.classes.sshkey';
|
||||
|
||||
export class SshConfig {
|
||||
private _sshKeyArray: SshKey[]
|
||||
constructor(sshKeyArrayArg: SshKey[]) {
|
||||
this._sshKeyArray = sshKeyArrayArg
|
||||
}
|
||||
private _sshKeyArray: SshKey[];
|
||||
constructor(sshKeyArrayArg: SshKey[]) {
|
||||
this._sshKeyArray = sshKeyArrayArg;
|
||||
}
|
||||
|
||||
/**
|
||||
* stores a config file
|
||||
*/
|
||||
store(dirPathArg: string) {
|
||||
let done = plugins.q.defer()
|
||||
let configArray: configObject[] = []
|
||||
let configString
|
||||
for (let key in this._sshKeyArray) {
|
||||
let sshKey = this._sshKeyArray[key]
|
||||
if (sshKey.host) {
|
||||
configString = 'Host ' + sshKey.host + '\n' +
|
||||
' HostName ' + sshKey.host + '\n' +
|
||||
' IdentityFile ~/.ssh/' + sshKey.host + '\n' +
|
||||
' StrictHostKeyChecking no' + '\n'
|
||||
}
|
||||
configArray.push({
|
||||
configString: configString,
|
||||
authorized: sshKey.authorized,
|
||||
sshKey: sshKey
|
||||
})
|
||||
}
|
||||
let configFile: string = ''
|
||||
for (let key in configArray) {
|
||||
configFile = configFile + configArray[key].configString + '\n'
|
||||
};
|
||||
plugins.smartfile.memory.toFsSync(configFile,plugins.path.join(dirPathArg,'config'))
|
||||
return done.promise
|
||||
/**
|
||||
* stores a config file
|
||||
*/
|
||||
store(dirPathArg: string) {
|
||||
let done = plugins.q.defer();
|
||||
let configArray: configObject[] = [];
|
||||
let configString;
|
||||
for (let key in this._sshKeyArray) {
|
||||
let sshKey = this._sshKeyArray[key];
|
||||
if (sshKey.host) {
|
||||
configString =
|
||||
'Host ' +
|
||||
sshKey.host +
|
||||
'\n' +
|
||||
' HostName ' +
|
||||
sshKey.host +
|
||||
'\n' +
|
||||
' IdentityFile ~/.ssh/' +
|
||||
sshKey.host +
|
||||
'\n' +
|
||||
' StrictHostKeyChecking no' +
|
||||
'\n';
|
||||
}
|
||||
configArray.push({
|
||||
configString: configString,
|
||||
authorized: sshKey.authorized,
|
||||
sshKey: sshKey
|
||||
});
|
||||
}
|
||||
read(dirPathArg) {
|
||||
let done = plugins.q.defer()
|
||||
let configArray: configObject[]
|
||||
plugins.smartfile.fs.toStringSync(plugins.path.join(dirPathArg,'config'))
|
||||
|
||||
return done.promise
|
||||
let configFile: string = '';
|
||||
for (let key in configArray) {
|
||||
configFile = configFile + configArray[key].configString + '\n';
|
||||
}
|
||||
};
|
||||
plugins.smartfile.memory.toFsSync(configFile, plugins.path.join(dirPathArg, 'config'));
|
||||
return done.promise;
|
||||
}
|
||||
read(dirPathArg) {
|
||||
let done = plugins.q.defer();
|
||||
let configArray: configObject[];
|
||||
plugins.smartfile.fs.toStringSync(plugins.path.join(dirPathArg, 'config'));
|
||||
|
||||
return done.promise;
|
||||
}
|
||||
}
|
||||
|
||||
export interface configObject {
|
||||
configString: string
|
||||
authorized: boolean
|
||||
sshKey: SshKey
|
||||
};
|
||||
|
||||
configString: string;
|
||||
authorized: boolean;
|
||||
sshKey: SshKey;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user