mirror of
https://github.com/appwrite/appwrite
synced 2026-05-06 06:48:22 +00:00
Merge pull request #10383 from appwrite/copilot/fix-e24d8527-9979-4c83-bbee-437ac6c4d440
Apply sequence integer casting and attribute cleanup fixes to Row model, TablesDB tests, and document processing
This commit is contained in:
commit
e71beeee51
7 changed files with 14 additions and 2 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,6 +127,9 @@ class Update extends Action
|
|||
}
|
||||
}
|
||||
|
||||
// Remove sequence if set
|
||||
unset($document['$sequence']);
|
||||
|
||||
$documents = [];
|
||||
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ class V20 extends Filter
|
|||
if (empty($selections)) {
|
||||
$hasWildcard = true;
|
||||
$parsed[] = Query::select(['*']);
|
||||
} else if (!$hasWildcard) {
|
||||
} elseif (!$hasWildcard) {
|
||||
// check if any select includes a wildcard as we added one above
|
||||
foreach ($selections as $select) {
|
||||
if (\in_array('*', $select->getValues(), true)) {
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ class Row extends Any
|
|||
{
|
||||
$document->removeAttribute('$collection');
|
||||
$document->removeAttribute('$tenant');
|
||||
$document->setAttribute('$sequence', (int)$document->getAttribute('$sequence', 0));
|
||||
|
||||
foreach ($document->getAttributes() as $column) {
|
||||
if (\is_array($column)) {
|
||||
|
|
|
|||
|
|
@ -1625,6 +1625,8 @@ trait DatabasesBase
|
|||
$this->assertEquals($row1['body']['actors'][0], 'Chris Evans');
|
||||
$this->assertEquals($row1['body']['actors'][1], 'Samuel Jackson');
|
||||
$this->assertEquals($row1['body']['birthDay'], '1975-06-12T12:12:55.000+00:00');
|
||||
$this->assertTrue(array_key_exists('$sequence', $row1['body']));
|
||||
$this->assertIsInt($row1['body']['$sequence']);
|
||||
|
||||
$this->assertEquals(201, $row2['headers']['status-code']);
|
||||
$this->assertEquals($data['moviesId'], $row2['body']['$tableId']);
|
||||
|
|
|
|||
Loading…
Reference in a new issue