fix(logs): 忽略/取消忽略操作写入操作日志
原 /api/ignore 与 /api/ignore/:pkgName 只写 ignored_packages 表不记日志, 导致操作日志页查不到忽略记录。logs 表新增 action 列区分操作类型 (clean/ignore/unignore,旧库运行时 ALTER TABLE 迁移),忽略与取消忽略 接口补写 addLog;日志页按操作类型展示徽标与详情,删除数量/释放空间对 非清理操作显示占位符。
This commit is contained in:
+10
-3
@@ -26,6 +26,7 @@ CREATE TABLE IF NOT EXISTS ignored_packages (
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS logs (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
action TEXT DEFAULT 'clean',
|
||||
pkg_name TEXT,
|
||||
deleted_versions TEXT,
|
||||
deleted_count INTEGER,
|
||||
@@ -34,6 +35,12 @@ CREATE TABLE IF NOT EXISTS logs (
|
||||
);
|
||||
`)
|
||||
|
||||
// 旧库迁移:早期 logs 表无 action 列,运行时补齐(忽略/取消忽略等操作依赖该列区分类型)
|
||||
const logCols = db.prepare('PRAGMA table_info(logs)').all().map(c => c.name)
|
||||
if (!logCols.includes('action')) {
|
||||
db.exec("ALTER TABLE logs ADD COLUMN action TEXT DEFAULT 'clean'")
|
||||
}
|
||||
|
||||
// —— settings ——
|
||||
export function getSetting(key, def = null) {
|
||||
const row = db.prepare('SELECT value FROM settings WHERE key = ?').get(key)
|
||||
@@ -70,10 +77,10 @@ export function removeIgnored(pkgName) {
|
||||
}
|
||||
|
||||
// —— logs ——
|
||||
export function addLog({ pkgName, deletedVersions, deletedCount, freedSpace }) {
|
||||
export function addLog({ action = 'clean', pkgName, deletedVersions = null, deletedCount = 0, freedSpace = null }) {
|
||||
const info = db.prepare(
|
||||
'INSERT INTO logs (pkg_name, deleted_versions, deleted_count, freed_space) VALUES (?, ?, ?, ?)',
|
||||
).run(pkgName, deletedVersions, deletedCount, freedSpace)
|
||||
'INSERT INTO logs (action, pkg_name, deleted_versions, deleted_count, freed_space) VALUES (?, ?, ?, ?, ?)',
|
||||
).run(action, pkgName, deletedVersions, deletedCount, freedSpace)
|
||||
return info.lastInsertRowid
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user