Learn by Directing AI
All materials

quality-checks.ts

tsquality-checks.ts
import { Router, Request, Response } from 'express'
import { prisma } from '../lib/db'
import { requireAuth } from '../lib/auth'

const router = Router()

router.get('/', requireAuth, async (req: Request, res: Response) => {
  try {
    const { batch_id } = req.query
    const where = batch_id ? { batch_id: parseInt(batch_id as string) } : {}
    const checks = await prisma.qualityCheck.findMany({
      where,
      include: { batch: { select: { variete: true, stage: true } } },
      orderBy: { checked_at: 'desc' },
    })
    res.json(checks)
  } catch (error) {
    res.status(500).json({ error: 'Failed to fetch quality checks' })
  }
})

router.post('/', requireAuth, async (req: Request, res: Response) => {
  try {
    const { batch_id, check_type, result, moisture_pct, defect_pct, inspector, notes } = req.body
    const check = await prisma.qualityCheck.create({
      data: {
        batch_id,
        check_type,
        result,
        moisture_pct,
        defect_pct,
        inspector,
        notes,
      },
    })
    res.status(201).json(check)
  } catch (error) {
    res.status(500).json({ error: 'Failed to create quality check' })
  }
})

export default router