<?php
// delete_test.php
// Autors: Kārlis Mālnieks
// Iekļauj datubāzes savienojuma failu
include 'db_connection.php';

// Pārbauda, vai pieprasījuma metode ir POST (nevis GET, PUT vai citi)
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'message' => 'Invalid request method.']);
    exit(); // Ja pieprasījuma metode nav POST, atgriež kļūdas ziņojumu un iznāk no skripta
}

// Iegūst pieprasījuma datus (JSON formātā)
$input = json_decode(file_get_contents('php://input'), true);

// Iegūst testu ID no pieprasījuma datiem
$test_id = isset($input['test_id']) ? (int)$input['test_id'] : null;

// Pārbauda, vai ir norādīts testu ID
if (!$test_id) {
    echo json_encode(['success' => false, 'message' => 'Test ID is required.']);
    exit(); // Ja testu ID nav sniegts, atgriež kļūdas ziņojumu un iznāk no skripta
}

try {
    // Sagatavo SQL vaicājumu, lai dzēstu pārbaudes darbu no tests tabulas pēc ID
    $stmt = $pdo->prepare("DELETE FROM tests WHERE id = :test_id");
    $stmt->bindParam(':test_id', $test_id, PDO::PARAM_INT);
    $stmt->execute(); // Izpilda vaicājumu, lai dzēstu testu

    // Sagatavo SQL vaicājumu, lai dzēstu visus rezultātus no grades tabulas, kas saistīti ar konkrēto testu
    $stmt = $pdo->prepare("DELETE FROM grades WHERE test_id = :test_id");
    $stmt->bindParam(':test_id', $test_id, PDO::PARAM_INT);
    $stmt->execute(); // Izpilda vaicājumu, lai dzēstu rezultātus

    // Atgriež veiksmīgu atbildi, ka pārbaudes darbs un saistītie rezultāti ir veiksmīgi dzēsti
    echo json_encode(['success' => true, 'message' => 'Test and associated grades deleted successfully.']);
} catch (PDOException $e) {
    // Ja rodas kļūda ar datubāzi, atgriež kļūdas ziņojumu
    echo json_encode(['success' => false, 'message' => 'Database error: ' . $e->getMessage()]);
}
?>
