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', ]));