index.put.ts
1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import { z } from 'zod'
import { updateMockDraftWorkOrder } from '../../../utils/mock-work-orders'
const payloadSchema = z.object({
orderNo: z.string().trim().min(1),
deviceCode: z.string().trim().min(1),
batchNo: z.string().trim().min(1),
line: z.string().trim().min(1),
ownerUsername: z.string().trim().min(1),
plannedDate: z.string().trim().min(1),
totalSn: z.number().int().positive(),
operator: z.string().trim().min(1)
})
export default eventHandler(async (event) => {
const idRaw = getRouterParam(event, 'id')
const id = Number(idRaw)
if (!Number.isInteger(id) || id <= 0) {
return {
success: false,
errorCode: 'VALIDATION_ERROR',
message: '工单标识不正确。'
}
}
const body = await readBody(event)
const parsed = payloadSchema.safeParse(body)
if (!parsed.success) {
return {
success: false,
errorCode: 'VALIDATION_ERROR',
message: '工单参数不正确。'
}
}
const { operator, ...payload } = parsed.data
return updateMockDraftWorkOrder(id, payload, operator)
})