index.get.ts 616 Bytes
import { z } from 'zod'
import { SN_EXCEPTION_STATUS_VALUES, SN_STATUS_VALUES } from '../../../app/types/sn'
import { getMockSnItems } from '../../utils/mock-sns'

const querySchema = z.object({
  sn: z.string().optional(),
  workOrderNo: z.string().optional(),
  status: z.enum(SN_STATUS_VALUES).optional(),
  currentStep: z.string().optional(),
  exceptionStatus: z.enum(SN_EXCEPTION_STATUS_VALUES).optional()
})

export default eventHandler((event) => {
  const raw = getQuery(event)
  const parsed = querySchema.safeParse(raw)

  if (!parsed.success) {
    return []
  }

  return getMockSnItems(parsed.data)
})