♻️ 重构本地数据库-log模块
This commit is contained in:
parent
5437486eba
commit
dafb2cc5c9
@ -1,9 +1,10 @@
|
|||||||
const { readLog } = require('../utils/storage')
|
const { LogDB } = require('../utils/db-class')
|
||||||
|
const logDB = new LogDB().getInstance()
|
||||||
|
|
||||||
let whiteList = process.env.ALLOWED_IPS ? process.env.ALLOWED_IPS.split(',') : []
|
let whiteList = process.env.ALLOWED_IPS ? process.env.ALLOWED_IPS.split(',') : []
|
||||||
|
|
||||||
async function getLog({ res }) {
|
async function getLog({ res }) {
|
||||||
let list = await readLog()
|
let list = await logDB.findAsync({})
|
||||||
list = list.map(item => {
|
list = list.map(item => {
|
||||||
return { ...item, id: item._id }
|
return { ...item, id: item._id }
|
||||||
})
|
})
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
const jwt = require('jsonwebtoken')
|
const jwt = require('jsonwebtoken')
|
||||||
const axios = require('axios')
|
const axios = require('axios')
|
||||||
const { asyncSendNotice } = require('../utils/notify')
|
const { asyncSendNotice } = require('../utils/notify')
|
||||||
const { readKey, writeKey, writeLog } = require('../utils/storage')
|
const { readKey, writeKey } = require('../utils/storage')
|
||||||
const { RSADecryptAsync, AESEncryptAsync, SHA1Encrypt } = require('../utils/encrypt')
|
const { RSADecryptAsync, AESEncryptAsync, SHA1Encrypt } = require('../utils/encrypt')
|
||||||
const { getNetIPInfo } = require('../utils/tools')
|
const { getNetIPInfo } = require('../utils/tools')
|
||||||
|
const { LogDB } = require('../utils/db-class')
|
||||||
|
const logDB = new LogDB().getInstance()
|
||||||
|
|
||||||
const getpublicKey = async ({ res }) => {
|
const getpublicKey = async ({ res }) => {
|
||||||
let { publicKey: data } = await readKey()
|
let { publicKey: data } = await readKey()
|
||||||
@ -86,7 +88,7 @@ const beforeLoginHandler = async (clientIp, jwtExpires) => {
|
|||||||
// 邮件登录通知
|
// 邮件登录通知
|
||||||
asyncSendNotice('login', '登录提醒', `地点:${ country + city }\nIP: ${ ip }`)
|
asyncSendNotice('login', '登录提醒', `地点:${ country + city }\nIP: ${ ip }`)
|
||||||
|
|
||||||
await writeLog({ ip, country, city, date: Date.now(), type: 'login' })
|
await logDB.insertAsync({ ip, country, city, date: Date.now(), type: 'login' })
|
||||||
return token
|
return token
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
const { KeyDB, HostListDB, SshRecordDB, NotifyDB, NotifyConfigDB, ScriptsDB, GroupDB, OnekeyDB, LogDB } = require('./db-class')
|
const { KeyDB, SshRecordDB, NotifyDB, NotifyConfigDB, ScriptsDB, OnekeyDB } = require('./db-class')
|
||||||
|
|
||||||
const readKey = async () => {
|
const readKey = async () => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
@ -64,44 +64,6 @@ const writeSSHRecord = async (record = []) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// const readHostList = async () => {
|
|
||||||
// return new Promise((resolve, reject) => {
|
|
||||||
// const hostListDB = new HostListDB().getInstance()
|
|
||||||
// hostListDB.find({}, (err, docs) => {
|
|
||||||
// if (err) {
|
|
||||||
// consola.error('读取host-list-db错误:', err)
|
|
||||||
// reject(err)
|
|
||||||
// } else {
|
|
||||||
// resolve(docs)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const writeHostList = async (record = []) => {
|
|
||||||
// return new Promise((resolve, reject) => {
|
|
||||||
// const hostListDB = new HostListDB().getInstance()
|
|
||||||
// hostListDB.remove({}, { multi: true }, (err) => {
|
|
||||||
// if (err) {
|
|
||||||
// consola.error('清空HostList出错:', err)
|
|
||||||
// reject(err)
|
|
||||||
// } else {
|
|
||||||
// hostListDB.compactDatafile()
|
|
||||||
// // 插入新的数据列表
|
|
||||||
// hostListDB.insert(record, (err, newDocs) => {
|
|
||||||
// if (err) {
|
|
||||||
// consola.error('写入新的HostList出错:', err)
|
|
||||||
// reject(err)
|
|
||||||
// } else {
|
|
||||||
// hostListDB.compactDatafile()
|
|
||||||
// resolve(newDocs)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
|
|
||||||
const readNotifyConfig = async () => {
|
const readNotifyConfig = async () => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const notifyConfigDB = new NotifyConfigDB().getInstance()
|
const notifyConfigDB = new NotifyConfigDB().getInstance()
|
||||||
@ -178,43 +140,6 @@ const writeNotifyList = async (notifyList) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// const readGroupList = async () => {
|
|
||||||
// return new Promise((resolve, reject) => {
|
|
||||||
// const groupDB = new GroupDB().getInstance()
|
|
||||||
// groupDB.find({}, (err, docs) => {
|
|
||||||
// if (err) {
|
|
||||||
// consola.error('读取group list错误: ', err)
|
|
||||||
// reject(err)
|
|
||||||
// } else {
|
|
||||||
// resolve(docs)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const writeGroupList = async (list = []) => {
|
|
||||||
// return new Promise((resolve, reject) => {
|
|
||||||
// const groupDB = new GroupDB().getInstance()
|
|
||||||
// groupDB.remove({}, { multi: true }, (err) => {
|
|
||||||
// if (err) {
|
|
||||||
// consola.error('清空group list出错:', err)
|
|
||||||
// reject(err)
|
|
||||||
// } else {
|
|
||||||
// groupDB.compactDatafile()
|
|
||||||
// groupDB.insert(list, (err, newDocs) => {
|
|
||||||
// if (err) {
|
|
||||||
// consola.error('写入新的group list出错:', err)
|
|
||||||
// reject(err)
|
|
||||||
// } else {
|
|
||||||
// groupDB.compactDatafile()
|
|
||||||
// resolve(newDocs)
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
|
|
||||||
const readScriptList = async () => {
|
const readScriptList = async () => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const scriptsDB = new ScriptsDB().getInstance()
|
const scriptsDB = new ScriptsDB().getInstance()
|
||||||
@ -297,44 +222,11 @@ const deleteOneKeyRecord = async (ids =[]) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const readLog = async () => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
const logDB = new LogDB().getInstance()
|
|
||||||
logDB.find({}, (err, docs) => {
|
|
||||||
if (err) {
|
|
||||||
consola.error('读取log DB错误: ', err)
|
|
||||||
reject(err)
|
|
||||||
} else {
|
|
||||||
logDB.compactDatafile()
|
|
||||||
resolve(docs)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const writeLog = async (records = {}) => {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
const logDB = new LogDB().getInstance()
|
|
||||||
logDB.insert(records, (err, newDocs) => {
|
|
||||||
if (err) {
|
|
||||||
consola.error('写入新的onekey记录出错:', err)
|
|
||||||
reject(err)
|
|
||||||
} else {
|
|
||||||
logDB.compactDatafile()
|
|
||||||
resolve(newDocs)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
readSSHRecord, writeSSHRecord,
|
readSSHRecord, writeSSHRecord,
|
||||||
// readHostList, writeHostList,
|
|
||||||
readKey, writeKey,
|
readKey, writeKey,
|
||||||
readNotifyList, writeNotifyList,
|
readNotifyList, writeNotifyList,
|
||||||
readNotifyConfig, writeNotifyConfig, getNotifySwByType,
|
readNotifyConfig, writeNotifyConfig, getNotifySwByType,
|
||||||
// readGroupList, writeGroupList,
|
|
||||||
readScriptList, writeScriptList,
|
readScriptList, writeScriptList,
|
||||||
readOneKeyRecord, writeOneKeyRecord, deleteOneKeyRecord,
|
readOneKeyRecord, writeOneKeyRecord, deleteOneKeyRecord
|
||||||
readLog, writeLog
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user