From 2bc90db1f6f1593b48ab06bc9beaef4a71a5fd9a Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Fri, 3 Oct 2025 18:56:05 +1300 Subject: [PATCH] Fix tests --- src/Appwrite/Databases/TransactionState.php | 8 ++++---- .../Http/Databases/Transactions/Operations/Create.php | 4 ++++ .../Databases/Http/Databases/Transactions/Update.php | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Appwrite/Databases/TransactionState.php b/src/Appwrite/Databases/TransactionState.php index 85ecb41ae2..e9cb6b82e4 100644 --- a/src/Appwrite/Databases/TransactionState.php +++ b/src/Appwrite/Databases/TransactionState.php @@ -574,25 +574,25 @@ class TransactionState } break; - case Query::TYPE_GREATER_THAN: + case Query::TYPE_GREATER: if (!($docValue > $values[0])) { return false; } break; - case Query::TYPE_GREATER_THAN_EQUAL: + case Query::TYPE_GREATER_EQUAL: if (!($docValue >= $values[0])) { return false; } break; - case Query::TYPE_LESSER_THAN: + case Query::TYPE_LESSER: if (!($docValue < $values[0])) { return false; } break; - case Query::TYPE_LESSER_THAN_EQUAL: + case Query::TYPE_LESSER_EQUAL: if (!($docValue <= $values[0])) { return false; } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php index 20cf79551c..80122a6028 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php @@ -64,6 +64,10 @@ class Create extends Action public function action(string $transactionId, array $operations, UtopiaResponse $response, Database $dbForProject, array $plan): void { + if (empty($operations)) { + throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Operations array cannot be empty'); + } + $transaction = $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty() || $transaction->getAttribute('status', '') !== 'pending') { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Invalid or non‑pending transaction'); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php index 19ba8f10d8..bd0c7f5582 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php @@ -129,7 +129,7 @@ class Update extends Action $totalOperations = 0; $databaseOperations = []; - $dbForProject->withTransaction(function () use ($dbForProject, $queueForDeletes, $transactionId, &$transaction, &$operations, &$totalOperations, &$databaseOperations, $queueForEvents, $queueForStatsUsage, $queueForRealtime, $queueForFunctions, $queueForWebhooks) { + $dbForProject->withTransaction(function () use ($dbForProject, $transactionState, $queueForDeletes, $transactionId, &$transaction, &$operations, &$totalOperations, &$databaseOperations, $queueForEvents, $queueForStatsUsage, $queueForRealtime, $queueForFunctions, $queueForWebhooks) { $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'committing', ]));