smartssh/ts/smartssh.classes.sshdir.ts

43 lines
1.3 KiB
TypeScript
Raw Normal View History

2016-11-23 11:38:38 +00:00
import 'typings-global'
import * as plugins from './smartssh.plugins'
import * as helpers from './smartssh.classes.helpers'
2017-06-15 17:25:12 +00:00
import { SshInstance } from './smartssh.classes.sshinstance'
import { SshKey } from './smartssh.classes.sshkey'
import { SshConfig } from './smartssh.classes.sshconfig'
export class SshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE
2017-06-15 17:25:12 +00:00
private _path: string // the path of the ssh directory
private _sshKeyArray: SshKey[]
private _sshConfig: SshConfig
constructor (sshKeyArray: SshKey[], sshConfig: SshConfig, sshDirPathArg?: string) {
this._sshKeyArray = sshKeyArray
this._sshConfig = sshConfig
if (sshDirPathArg) {
this._path = sshDirPathArg
} else {
this._path = plugins.path.join(plugins.smartpath.get.home(), '.ssh/')
2016-05-31 17:00:52 +00:00
}
2017-06-15 17:25:12 +00:00
}
writeToDir (dirPathArg?: string) { // syncs sshInstance to directory
let path = this._path
if (dirPathArg) path = dirPathArg
this._sshKeyArray.forEach((sshKeyArg) => {
sshKeyArg.store(path)
})
this._sshConfig.store(path)
}
readFromDir (dirPathArg?: string) { // syncs sshInstance from directory
let path = this._path
if (dirPathArg) path = dirPathArg
}
updateDirPath (dirPathArg: string) {
this._path = dirPathArg
}
getKeys () {
return helpers.sshKeyArrayFromDir(this._path)
}
2016-11-23 11:38:38 +00:00
}