<?php
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Origin: *");

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    echo json_encode(["success" => false, "error" => "Method not allowed"]);
    exit;
}

$db_file = __DIR__ . '/database.sqlite';
if (!file_exists($db_file)) {
    echo json_encode(["success" => false, "error" => "قاعدة البيانات غير موجودة."]);
    exit;
}

try {
    $db = new PDO("sqlite:" . $db_file);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $tables_to_clear = [
        'transactions', 'notifications', 'journal_entries', 'client_abstracts',
        'invoice_items', 'journal_lines', 'subcontracts', 'subcontract_abstracts',
        'client_contracts', 'client_abstracts_new', 'sub_contracts', 'sub_abstracts',
        'custody_requests', 'activity_logs', 'advances', 'payrolls', 'invoices', 
        'vouchers', 'decisions', 'attendances', 'salaries', 'deductions'
    ];

    $db->beginTransaction();

    foreach ($tables_to_clear as $table) {
        // التحقق من وجود الجدول أولاً
        $stmt = $db->prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?");
        $stmt->execute([$table]);
        if ($stmt->fetch()) {
            $db->exec("DELETE FROM $table");
            // تصفير معرف الزيادة التلقائية إن وجد
            $db->exec("DELETE FROM sqlite_sequence WHERE name='$table'");
        }
    }

    $db->commit();
    echo json_encode(["success" => true, "message" => "تم تصفير بيانات النظام بنجاح!"]);

} catch (Exception $e) {
    if ($db->inTransaction()) {
        $db->rollBack();
    }
    echo json_encode(["success" => false, "error" => "فشل تصفير النظام: " . $e->getMessage()]);
}
?>
