profile.put.ts
796 Bytes
import { z } from 'zod'
import { updateMockSettingsProfile } from '../../utils/mock-settings'
const profilePayloadSchema = z.object({
name: z.string().trim().min(2),
email: z.string().trim().email(),
username: z.string().trim().min(2),
avatar: z.string().trim().optional(),
bio: z.string().trim().optional()
})
export default eventHandler(async (event) => {
const body = await readBody(event)
const parsed = profilePayloadSchema.safeParse(body)
if (!parsed.success) {
return {
success: false,
errorCode: 'VALIDATION_ERROR',
message: '提交的个人资料格式不正确。'
}
}
const profile = updateMockSettingsProfile(parsed.data)
return {
success: true,
errorCode: null,
message: '个人资料已保存。',
profile
}
})