<?php
header('Content-Type: application/json');
session_start();

if (!isset($_SESSION['user_id'])) {
    http_response_code(401);
    echo json_encode(['error' => 'Unauthorized']);
    exit();
}

require_once '../config/db.php';

// التحقق من أن الطلب هو POST
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    echo json_encode(['error' => 'Method Not Allowed']);
    exit();
}

// الحصول على بيانات JSON
$data = json_decode(file_get_contents('php://input'), true);

if (!isset($data['id'])) {
    http_response_code(400);
    echo json_encode(['error' => 'Sale ID is required']);
    exit();
}

$sale_id = $data['id'];

try {
    $db = new Database();
    $pdo = $db->getConnection();
    
    // بدء المعاملة
    $pdo->beginTransaction();
    
    // الحصول على معلومات البيع قبل الحذف
    $stmt = $pdo->prepare("
        SELECT product_id, quantity 
        FROM sales 
        WHERE id = ?
    ");
    $stmt->execute([$sale_id]);
    $sale = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if (!$sale) {
        throw new Exception('البيع غير موجود');
    }
    
    // إعادة الكمية إلى المخزون
    $stmt = $pdo->prepare("
        UPDATE products 
        SET quantity = quantity + ? 
        WHERE id = ?
    ");
    $stmt->execute([$sale['quantity'], $sale['product_id']]);
    
    // حذف البيع
    $stmt = $pdo->prepare("DELETE FROM sales WHERE id = ?");
    $stmt->execute([$sale_id]);
    
    // إتمام المعاملة
    $pdo->commit();
    
    echo json_encode(['success' => true]);
    
} catch (Exception $e) {
    $pdo->rollBack();
    http_response_code(500);
    echo json_encode(['error' => $e->getMessage()]);
}
