index.post.ts 818 Bytes
import { z } from 'zod'
import { createMockWorkOrder } 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 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 createMockWorkOrder(payload, operator)
})