import type { NextApiRequest, NextApiResponse } from 'next' import { prisma } from '@/lib/prisma' import { requireAuth, logAction, SHIPMENT_SEND_ROLES } from '@/lib/auth' import { sendEmail, emailTemplate } from '@/lib/email' export default async function handler(req: NextApiRequest, res: NextApiResponse) { const user = await requireAuth(req, res, SHIPMENT_SEND_ROLES) if (!user) return if (req.method !== 'POST') return res.status(405).end() const { id } = req.query as { id: string } const { clientEmail, subject, message } = req.body if (!clientEmail || !subject || !message) { return res.status(400).json({ error: 'clientEmail, subject, message required' }) } const shipment = await prisma.shipment.findUnique({ where: { id }, include: { items: true } }) if (!shipment) return res.status(404).json({ error: 'Shipment not found' }) const itemsHtml = shipment.items.filter(i => i.included).map(i => `
${message.replace(/\n/g, '
')}