From dafb2cc5c9a58119203be7254f131c64cd776478 Mon Sep 17 00:00:00 2001 From: chaos-zhu Date: Tue, 22 Oct 2024 22:02:05 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20=E9=87=8D=E6=9E=84=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E6=95=B0=E6=8D=AE=E5=BA=93-log=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/controller/log.js | 5 +- server/app/controller/user.js | 6 +- server/app/utils/storage.js | 112 +--------------------------------- 3 files changed, 9 insertions(+), 114 deletions(-) diff --git a/server/app/controller/log.js b/server/app/controller/log.js index dcf06f9..a84ea49 100644 --- a/server/app/controller/log.js +++ b/server/app/controller/log.js @@ -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(',') : [] async function getLog({ res }) { - let list = await readLog() + let list = await logDB.findAsync({}) list = list.map(item => { return { ...item, id: item._id } }) diff --git a/server/app/controller/user.js b/server/app/controller/user.js index 2e5a876..4b5236b 100644 --- a/server/app/controller/user.js +++ b/server/app/controller/user.js @@ -1,9 +1,11 @@ const jwt = require('jsonwebtoken') const axios = require('axios') 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 { getNetIPInfo } = require('../utils/tools') +const { LogDB } = require('../utils/db-class') +const logDB = new LogDB().getInstance() const getpublicKey = async ({ res }) => { let { publicKey: data } = await readKey() @@ -86,7 +88,7 @@ const beforeLoginHandler = async (clientIp, jwtExpires) => { // 邮件登录通知 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 } diff --git a/server/app/utils/storage.js b/server/app/utils/storage.js index fab2d9d..5efb9bc 100644 --- a/server/app/utils/storage.js +++ b/server/app/utils/storage.js @@ -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 () => { 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 () => { return new Promise((resolve, reject) => { 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 () => { return new Promise((resolve, reject) => { 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 = { readSSHRecord, writeSSHRecord, - // readHostList, writeHostList, readKey, writeKey, readNotifyList, writeNotifyList, readNotifyConfig, writeNotifyConfig, getNotifySwByType, - // readGroupList, writeGroupList, readScriptList, writeScriptList, - readOneKeyRecord, writeOneKeyRecord, deleteOneKeyRecord, - readLog, writeLog + readOneKeyRecord, writeOneKeyRecord, deleteOneKeyRecord } \ No newline at end of file