const Datastore = require('@seald-io/nedb') const { credentialsDBPath, hostListDBPath, keyDBPath, notifyDBPath, notifyConfigDBPath, groupConfDBPath, scriptsDBPath, onekeyDBPath, logDBPath } = require('../config') module.exports.KeyDB = class KeyDB { constructor() { if (!KeyDB.instance) { KeyDB.instance = new Datastore({ filename: keyDBPath, autoload: true }) KeyDB.instance.setAutocompactionInterval(5000) } } getInstance() { return KeyDB.instance } } module.exports.HostListDB = class HostListDB { constructor() { if (!HostListDB.instance) { HostListDB.instance = new Datastore({ filename: hostListDBPath, autoload: true }) HostListDB.instance.setAutocompactionInterval(5000) } } getInstance() { return HostListDB.instance } } module.exports.SshRecordDB = class SshRecordDB { constructor() { if (!SshRecordDB.instance) { SshRecordDB.instance = new Datastore({ filename: credentialsDBPath, autoload: true }) SshRecordDB.instance.setAutocompactionInterval(5000) } } getInstance() { return SshRecordDB.instance } } module.exports.NotifyDB = class NotifyDB { constructor() { if (!NotifyDB.instance) { NotifyDB.instance = new Datastore({ filename: notifyDBPath, autoload: true }) NotifyDB.instance.setAutocompactionInterval(5000) } } getInstance() { return NotifyDB.instance } } module.exports.NotifyConfigDB = class NotifyConfigDB { constructor() { if (!NotifyConfigDB.instance) { NotifyConfigDB.instance = new Datastore({ filename: notifyConfigDBPath, autoload: true }) NotifyConfigDB.instance.setAutocompactionInterval(5000) } } getInstance() { return NotifyConfigDB.instance } } module.exports.GroupDB = class GroupDB { constructor() { if (!GroupDB.instance) { GroupDB.instance = new Datastore({ filename: groupConfDBPath, autoload: true }) GroupDB.instance.setAutocompactionInterval(5000) } } getInstance() { return GroupDB.instance } } module.exports.ScriptsDB = class ScriptsDB { constructor() { if (!ScriptsDB.instance) { ScriptsDB.instance = new Datastore({ filename: scriptsDBPath, autoload: true }) ScriptsDB.instance.setAutocompactionInterval(5000) } } getInstance() { return ScriptsDB.instance } } module.exports.OnekeyDB = class OnekeyDB { constructor() { if (!OnekeyDB.instance) { OnekeyDB.instance = new Datastore({ filename: onekeyDBPath, autoload: true }) OnekeyDB.instance.setAutocompactionInterval(5000) } } getInstance() { return OnekeyDB.instance } } module.exports.LogDB = class LogDB { constructor() { if (!LogDB.instance) { LogDB.instance = new Datastore({ filename: logDBPath, autoload: true }) LogDB.instance.setAutocompactionInterval(5000) } } getInstance() { return LogDB.instance } }