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