import.post.mjs 1.83 KB
import { e as eventHandler, r as readBody, E as getMockWorkOrders, F as importMockSnItems } from '../../../nitro/nitro.mjs';
import { z } from 'zod';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import '@iconify/utils';
import 'consola';

const payloadSchema = z.object({
  workOrderNo: z.string().trim().min(1),
  currentStep: z.string().trim().min(1),
  snList: z.array(z.string()).min(1),
  operator: z.string().trim().min(1)
});
const import_post = eventHandler(async (event) => {
  const body = await readBody(event);
  const parsed = payloadSchema.safeParse(body);
  if (!parsed.success) {
    return {
      success: false,
      errorCode: "VALIDATION_ERROR",
      message: "SN \u5BFC\u5165\u53C2\u6570\u4E0D\u6B63\u786E\u3002",
      importedCount: 0,
      skippedCount: 0,
      duplicateSnList: []
    };
  }
  const normalizedOrderNo = parsed.data.workOrderNo.trim();
  const workOrder = getMockWorkOrders({ orderNo: normalizedOrderNo }).find((item) => item.orderNo.toLowerCase() === normalizedOrderNo.toLowerCase());
  if (!workOrder) {
    return buildRejectedResponse("WORK_ORDER_NOT_FOUND", "\u5DE5\u5355\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u5BFC\u5165 SN\u3002");
  }
  if (isBeforeDispatch(workOrder)) {
    return buildRejectedResponse("WORK_ORDER_NOT_DISPATCHED", "\u5DE5\u5355\u672A\u4E0B\u53D1\uFF0C\u4E0D\u5141\u8BB8\u5BFC\u5165 SN\u3002");
  }
  return importMockSnItems(parsed.data);
});
function isBeforeDispatch(workOrder) {
  return workOrder.status === "draft";
}
function buildRejectedResponse(errorCode, message) {
  return {
    success: false,
    errorCode,
    message,
    importedCount: 0,
    skippedCount: 0,
    duplicateSnList: []
  };
}

export { import_post as default };
//# sourceMappingURL=import.post.mjs.map