fix: Remove $sequence attribute from documents on create and update

Including attribute can cause a invalid structure error as the incoming data may be an int but the database expects a string.
This commit is contained in:
Steven Nguyen 2025-08-26 15:10:23 -07:00
parent bfd8b554cd
commit 737e2f8624
No known key found for this signature in database
4 changed files with 10 additions and 2 deletions

View file

@ -29,7 +29,7 @@ abstract class Action extends AppwriteAction
// Use the same helper method to ensure consistency
$contextId = '$' . $this->getCollectionsEventsContext() . 'Id';
$this->removableAttributes = ['$databaseId', $contextId];
$this->removableAttributes = ['$databaseId', $contextId, '$sequence'];
return parent::setHttpPath($path);
}
@ -232,7 +232,6 @@ abstract class Action extends AppwriteAction
$collectionId = $collection->getId();
$document->removeAttribute('$collection');
$document->removeAttribute('$tenant');
$document->setAttribute('$databaseId', $database->getId());
$document->setAttribute('$' . $this->getCollectionsEventsContext() . 'Id', $collectionId);

View file

@ -127,6 +127,9 @@ class Update extends Action
}
}
// Remove sequence if set
unset($document['$sequence']);
$documents = [];
try {

View file

@ -351,6 +351,9 @@ class Create extends Action
}
}
// Remove sequence if set
unset($document['$sequence']);
// Assign a unique ID if needed, otherwise use the provided ID.
$document['$id'] = $sourceId === 'unique()' ? ID::unique() : $sourceId;

View file

@ -159,6 +159,9 @@ class Update extends Action
$permissions = $document->getPermissions() ?? [];
}
// Remove sequence if set
unset($document['$sequence']);
$data['$id'] = $documentId;
$data['$permissions'] = $permissions;
$newDocument = new Document($data);