ca-grow-ops-manager/backend/src/routes/ipm.routes.ts
fullsizemalt e240ec7911 feat(phase2): Implement Phase 2 - Plant Touch Points & IPM
Added PlantTouchPoint and IPMSchedule models. Implemented touch-points and IPM controllers/routes. Updated frontend with Dashboard feed and IPM widgets.
2025-12-09 21:22:47 -08:00

22 lines
843 B
TypeScript

import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify';
import { createOrUpdateSchedule, getSchedule, getDueTreatments } from '../controllers/ipm.controller';
export async function ipmRoutes(fastify: FastifyInstance) {
const authenticate = async (request: FastifyRequest, reply: FastifyReply) => {
try {
await request.jwtVerify();
} catch (err) {
reply.send(err);
}
};
fastify.post('/api/ipm/schedule', { preHandler: [authenticate] }, createOrUpdateSchedule);
interface GetScheduleRequest {
Params: {
batchId: string;
}
}
fastify.get<GetScheduleRequest>('/api/batches/:batchId/ipm/schedule', { preHandler: [authenticate] }, getSchedule);
fastify.get('/api/ipm/due', { preHandler: [authenticate] }, getDueTreatments);
}