1
0
Fork 0
mirror of synced 2024-09-29 17:01:37 +13:00

Fix update document merging existing data after pre-processing instead of before

This commit is contained in:
Jake Barnby 2023-05-02 19:53:11 +12:00
parent ba24c0a843
commit 2eafda4ee2
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C

View file

@ -3279,6 +3279,7 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
$permissions = $document->getPermissions() ?? [];
}
$data = \array_merge($document->getArrayCopy(), $data); // Merge existing data with new data
$data['$collection'] = $collection->getId(); // Make sure user doesn't switch collectionID
$data['$createdAt'] = $document->getCreatedAt(); // Make sure user doesn't switch createdAt
$data['$id'] = $document->getId(); // Make sure user doesn't switch document unique ID
@ -3368,8 +3369,6 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
$checkPermissions($collection, $newDocument, $document, Database::PERMISSION_UPDATE);
$newDocument = new Document(\array_merge($document->getArrayCopy(), $data));
try {
$document = $dbForProject->withRequestTimestamp(
$requestTimestamp,