Files
PicHost/server/api/user/settings.patch.ts
T
O96u bc4cba7e52 release: PicHost v1.0.0
Multi-user image hosting with RBAC, upload preferences, and admin settings.
2026-08-22 14:36:57 +08:00

35 lines
1005 B
TypeScript
Raw 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 { 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)
return {
autoDeleteDays: policy.days
}
})