notifications.put.ts
789 Bytes
import { z } from 'zod'
import { updateMockSettingsNotifications } from '../../utils/mock-settings'
const notificationsPayloadSchema = z.object({
email: z.boolean(),
desktop: z.boolean(),
product_updates: z.boolean(),
weekly_digest: z.boolean(),
important_updates: z.boolean()
})
export default eventHandler(async (event) => {
const body = await readBody(event)
const parsed = notificationsPayloadSchema.safeParse(body)
if (!parsed.success) {
return {
success: false,
errorCode: 'VALIDATION_ERROR',
message: '提交的通知设置格式不正确。'
}
}
const notifications = updateMockSettingsNotifications(parsed.data)
return {
success: true,
errorCode: null,
message: '通知设置已保存。',
notifications
}
})