multiarea

This commit is contained in:
Jake Kasper
2025-08-26 07:46:37 -05:00
parent 24c0fa7b86
commit 7983503e5e
4 changed files with 251 additions and 274 deletions

View File

@@ -123,7 +123,8 @@ const userProductSchema = Joi.object({
// Application validation schemas
const applicationPlanSchema = Joi.object({
lawnSectionId: Joi.number().integer().positive().required(),
lawnSectionId: Joi.number().integer().positive().optional(), // Keep for backward compatibility
lawnSectionIds: Joi.array().items(Joi.number().integer().positive()).min(1).optional(), // New multi-area support
equipmentId: Joi.number().integer().positive().required(),
nozzleId: Joi.number().integer().positive().optional(),
plannedDate: Joi.date().required(),
@@ -150,7 +151,7 @@ const applicationPlanSchema = Joi.object({
rateUnit: Joi.string().max(50).required(),
applicationType: Joi.string().valid('liquid', 'granular').optional()
})).min(1).required()
});
}).or('lawnSectionId', 'lawnSectionIds'); // At least one lawn section parameter is required
const applicationLogSchema = Joi.object({
planId: Joi.number().integer().positive(),