<?php
/**
 * Update Offline Devices Status
 * Mark devices as offline if they haven't connected in the last 30 seconds
 */

require_once '../config/database.php';

try {
    $database = new Database();
    $db = $database->getConnection();
    
    // Mark devices as offline if last_seen > 30 seconds ago
    $update_query = "UPDATE iot_devices 
                    SET is_online = FALSE, 
                        status = 'offline'
                    WHERE last_seen < DATE_SUB(NOW(), INTERVAL 30 SECOND)
                    AND (is_online = TRUE OR status = 'online')";
    
    $stmt = $db->prepare($update_query);
    $stmt->execute();
    
    $affected = $stmt->rowCount();
    
    echo json_encode([
        'success' => true,
        'message' => "Updated $affected device(s) to offline",
        'affected_rows' => $affected
    ]);
    
} catch (Exception $e) {
    http_response_code(500);
    echo json_encode([
        'success' => false,
        'error' => $e->getMessage()
    ]);
}
?>
