Files
O96u 737235acff release: v1.4.0 — 标签系统、操作日志扩展与文档截图更新
- 每用户标签与彩色打标,图库 OR/AND 筛选与批量打标
- 操作日志记录登录、删除、设置与标签操作
- API 标签/打标接口;README 与文档站截图同步
2026-09-09 14:46:52 +08:00

46 lines
1.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { requireUserAuth } from '../../utils/access'
import { logActivity } from '../../utils/activity-log'
import { createApiError } from '../../utils/api-error'
import { getUserAutoDeletePolicy, setUserAutoDeletePolicy } from '../../utils/db'
import { MAX_AUTO_DELETE_DAYS, parseAutoDeleteDays } from '../../utils/env'
interface UserSettingsPatchBody {
autoDeleteDays?: unknown
}
export default defineEventHandler(async (event) => {
const user = await requireUserAuth(event)
const body = await readBody<UserSettingsPatchBody>(event).catch(
(): UserSettingsPatchBody => ({})
)
if (body.autoDeleteDays !== undefined) {
const days = parseAutoDeleteDays(String(body.autoDeleteDays))
if (days === null) {
createApiError(
event,
'INVALID_REQUEST',
`自动删除天数需为 0–${MAX_AUTO_DELETE_DAYS} 的整数(0 表示关闭)`,
400
)
}
setUserAutoDeletePolicy(user.id, days)
}
const policy = getUserAutoDeletePolicy(user.id)
if (body.autoDeleteDays !== undefined) {
logActivity(event, {
action: 'settings',
key: 'user/settings',
originalName: '上传偏好',
userId: user.id
})
}
return {
autoDeleteDays: policy.days
}
})