<?php
require_once __DIR__ . '/../controllers/FieldDataController.php';

function handleFieldDataRoutes($path, $method, $db) {
    $controller = new FieldDataController($db);
    
    switch (true) {
        // GET /api/rodales/{id}/field-data - Obtener datos de campo por rodal
        case preg_match('/^rodales\/(\d+)\/field-data$/', $path, $matches) && $method === 'GET':
            return $controller->getByRodal($matches[1]);
            
        // POST /api/field-data/sync - Sincronización masiva de datos
        case $path === 'field-data/sync' && $method === 'POST':
            return $controller->syncBatch();
            
        // PUT /api/field-data/mark-synced - Marcar registros como sincronizados
        case $path === 'field-data/mark-synced' && $method === 'PUT':
            return $controller->markAsSynced();
            
        // GET /api/field-data/pending-sync - Obtener registros pendientes
        case $path === 'field-data/pending-sync' && $method === 'GET':
            return $controller->getPendingSync();
            
        // GET /api/field-data/{id} - Obtener registro específico
        case preg_match('/^field-data\/(\d+)$/', $path, $matches) && $method === 'GET':
            return $controller->show($matches[1]);
            
        // PUT /api/field-data/{id} - Actualizar registro
        case preg_match('/^field-data\/(\d+)$/', $path, $matches) && $method === 'PUT':
            return $controller->update($matches[1]);
            
        // DELETE /api/field-data/{id} - Eliminar registro
        case preg_match('/^field-data\/(\d+)$/', $path, $matches) && $method === 'DELETE':
            return $controller->destroy($matches[1]);
    }
    
    return null;
}
?>