<?php
// Include the database connection file
include "../../jwtconnect.php";

//add300ToDriver.php

// Get the request parameters
$driverID = filterRequest("driverID");
$paymentID = filterRequest("paymentID");
$amount = filterRequest("amount");
$paymentMethod = filterRequest("paymentMethod");
$phone = filterRequest("phone");


// -------------------------------------------------------------
// 1) CHECK IF DRIVER ALREADY RECEIVED THIS PAYMENT BEFORE
// -------------------------------------------------------------
$check = $con->prepare("
    SELECT id 
    FROM driverWallet 
    WHERE driverID = :driverID AND paymentMethod = :paymentMethod
    LIMIT 1
");

$check->execute([
    ':driverID'  => $driverID,
    ':paymentMethod' => $paymentMethod
]);

if ($check->rowCount() > 0) {
    // Driver already received this "New Driver" payment
    printFailure("لقد تم منح هذا الدفع للسائق مسبقاً — لا يمكن تكراره.");
    exit;
}


// -------------------------------------------------------------
// 2) INSERT INTO driverWallet
// -------------------------------------------------------------
$sql = "INSERT INTO `driverWallet` (
        `driverID`,
        `paymentID`,
        `amount`,
        `paymentMethod`
    ) VALUES (
        :driverID,
        :paymentID,
        :amount,
        :paymentMethod
    );";

$stmt = $con->prepare($sql);
$stmt->execute(array(
    ':driverID' => $driverID,
    ':paymentID' => $paymentID,
    ':amount' => $amount,
    ':paymentMethod' => $paymentMethod
));

if ($stmt->rowCount() > 0) {

    printSuccess("Record saved successfully");

    // Notify driver
    $messageBody = "تم إضافة رصيد بقيمة $amount إلى محفظتك بنجاح.";
    // sendWhatsAppFromServer($phone, $messageBody);

    // -------------------------------------------------------------
    // 3) INSERT 30,000 POINTS FOR NEW DRIVER
    // -------------------------------------------------------------
    $sqlPoints = "INSERT INTO `paymentsDriverPoints`
                  (`amount`, `payment_method`, `driverID`, `created_at`, `updated_at`)
                  VALUES (:amount, :method, :driverID, NOW(), NOW())";

    $stmtPoints = $con->prepare($sqlPoints);
    $stmtPoints->execute(array(
        ':amount'    => 300,
        ':method'    => $paymentMethod,
        ':driverID'  => $driverID
    ));

} else {
    printFailure("Failed to save record");
}
