From 2529d64791dfe9ab2349694ae80547d347932a83 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 29 Jul 2025 16:53:13 +1200 Subject: [PATCH 1/2] Filter sequence to int because any models skip rule checks --- src/Appwrite/Utopia/Response/Model/Document.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Appwrite/Utopia/Response/Model/Document.php b/src/Appwrite/Utopia/Response/Model/Document.php index d43ab0d1e6..c36d6de12e 100644 --- a/src/Appwrite/Utopia/Response/Model/Document.php +++ b/src/Appwrite/Utopia/Response/Model/Document.php @@ -79,6 +79,7 @@ class Document extends Any { $document->removeAttribute('$collection'); $document->removeAttribute('$tenant'); + $document->setAttribute('$sequence', (int)$document->getAttribute('$sequence', 0)); foreach ($document->getAttributes() as $attribute) { if (\is_array($attribute)) { From 360e4ce9923703436194fd140fff0b2890d680d6 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 29 Jul 2025 16:54:39 +1200 Subject: [PATCH 2/2] Add test case --- tests/e2e/Services/Databases/DatabasesBase.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/e2e/Services/Databases/DatabasesBase.php b/tests/e2e/Services/Databases/DatabasesBase.php index be982ac145..de5d33f29d 100644 --- a/tests/e2e/Services/Databases/DatabasesBase.php +++ b/tests/e2e/Services/Databases/DatabasesBase.php @@ -1657,6 +1657,7 @@ trait DatabasesBase $this->assertEquals($document1['body']['actors'][1], 'Samuel Jackson'); $this->assertEquals($document1['body']['birthDay'], '1975-06-12T12:12:55.000+00:00'); $this->assertTrue(array_key_exists('$sequence', $document1['body'])); + $this->assertIsInt($document1['body']['$sequence']); $this->assertEquals(201, $document2['headers']['status-code']); $this->assertEquals($data['moviesId'], $document2['body']['$collectionId']);