From 2a8ab8d610a3e5c80b540a4f729cdfc089aeaf01 Mon Sep 17 00:00:00 2001 From: Bradley Schofield Date: Mon, 11 Nov 2024 12:36:58 +0900 Subject: [PATCH] Add base bulk operation models and envvars --- .env | 1 + src/Appwrite/Utopia/Response.php | 3 ++ .../Utopia/Response/Model/BulkOperation.php | 40 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 src/Appwrite/Utopia/Response/Model/BulkOperation.php diff --git a/.env b/.env index 8ff8164a21..281c6a825f 100644 --- a/.env +++ b/.env @@ -33,6 +33,7 @@ _APP_DB_SCHEMA=appwrite _APP_DB_USER=user _APP_DB_PASS=password _APP_DB_ROOT_PASS=rootsecretpassword +_APP_DATABASE_BATCH_SIZE=10_000 _APP_STORAGE_DEVICE=Local _APP_STORAGE_S3_ACCESS_KEY= _APP_STORAGE_S3_SECRET= diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php index 6cc2639f51..53aa2389ed 100644 --- a/src/Appwrite/Utopia/Response.php +++ b/src/Appwrite/Utopia/Response.php @@ -31,6 +31,7 @@ use Appwrite\Utopia\Response\Model\BaseList; use Appwrite\Utopia\Response\Model\Branch; use Appwrite\Utopia\Response\Model\Bucket; use Appwrite\Utopia\Response\Model\Build; +use Appwrite\Utopia\Response\Model\BulkOperation; use Appwrite\Utopia\Response\Model\Collection; use Appwrite\Utopia\Response\Model\ConsoleVariables; use Appwrite\Utopia\Response\Model\Continent; @@ -151,6 +152,7 @@ class Response extends SwooleResponse public const MODEL_INDEX_LIST = 'indexList'; public const MODEL_DOCUMENT = 'document'; public const MODEL_DOCUMENT_LIST = 'documentList'; + public const MODEL_BULK_OPERATION = 'bulkOperation'; // Database Attributes public const MODEL_ATTRIBUTE = 'attribute'; @@ -482,6 +484,7 @@ class Response extends SwooleResponse ->setModel(new Migration()) ->setModel(new MigrationReport()) ->setModel(new MigrationFirebaseProject()) + ->setModel(new BulkOperation()) // Tests (keep last) ->setModel(new Mock()); diff --git a/src/Appwrite/Utopia/Response/Model/BulkOperation.php b/src/Appwrite/Utopia/Response/Model/BulkOperation.php new file mode 100644 index 0000000000..5747645fb1 --- /dev/null +++ b/src/Appwrite/Utopia/Response/Model/BulkOperation.php @@ -0,0 +1,40 @@ +addRule('modified', [ + 'type' => self::TYPE_INTEGER, + 'description' => 'Total number of documents affected by the operation.', + 'default' => 0, + 'example' => 64, + ]); + } + + /** + * Get Name + * + * @return string + */ + public function getName(): string + { + return 'BulkOperation'; + } + + /** + * Get Type + * + * @return string + */ + public function getType(): string + { + return Response::MODEL_BULK_OPERATION; + } +} \ No newline at end of file