From 2052fb975bf0cb6c3be90aa98af258af0642f38e Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Wed, 12 Mar 2025 16:53:08 +1300 Subject: [PATCH] Use bulk deletes for audit cleanup --- src/Appwrite/Platform/Workers/Deletes.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Deletes.php b/src/Appwrite/Platform/Workers/Deletes.php index 643fc4d010..06838e0232 100644 --- a/src/Appwrite/Platform/Workers/Deletes.php +++ b/src/Appwrite/Platform/Workers/Deletes.php @@ -732,10 +732,12 @@ class Deletes extends Action { $projectId = $project->getId(); $dbForProject = $getProjectDB($project); - $audit = new Audit($dbForProject); try { - $audit->cleanup($auditRetention); + $this->deleteByGroup(Audit::COLLECTION, [ + Query::lessThan('time', $auditRetention), + Query::orderDesc('time'), + ], $dbForProject); } catch (DatabaseException $e) { Console::error('Failed to delete audit logs for project ' . $projectId . ': ' . $e->getMessage()); } @@ -943,7 +945,7 @@ class Deletes extends Action * @param Database $database * @param ?callable $callback * @return void - * @throws Exception + * @throws DatabaseException */ protected function deleteByGroup( string $collection,