fix: always cast $sequence to string for SDK type safety

Revert the is_int preservation — SDKs declare $sequence as string,
so the API must always return a string. Updated tests to match.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jake Barnby
2026-03-20 17:24:21 +13:00
parent 827dd2d039
commit 47408f04dc
3 changed files with 4 additions and 10 deletions
@@ -84,8 +84,7 @@ class Document extends Any
$document->removeAttribute('$tenant');
if (!$document->isEmpty()) {
$sequence = $document->getAttribute('$sequence', '');
$document->setAttribute('$sequence', \is_int($sequence) ? $sequence : (string)$sequence);
$document->setAttribute('$sequence', (string)$document->getAttribute('$sequence', ''));
}
foreach ($document->getAttributes() as $attribute) {
+1 -2
View File
@@ -84,8 +84,7 @@ class Row extends Any
$document->removeAttribute('$tenant');
if (!$document->isEmpty()) {
$sequence = $document->getAttribute('$sequence', '');
$document->setAttribute('$sequence', \is_int($sequence) ? $sequence : (string)$sequence);
$document->setAttribute('$sequence', (string)$document->getAttribute('$sequence', ''));
}
foreach ($document->getAttributes() as $column) {
@@ -2566,9 +2566,7 @@ trait DatabasesBase
$this->assertEquals($document1['body']['birthDay'], '1975-06-12T12:12:55.000+00:00');
$this->assertTrue(array_key_exists('$sequence', $document1['body']));
$this->getSupportForIntegerIds()
? $this->assertIsInt($document1['body']['$sequence'])
: $this->assertIsString($document1['body']['$sequence']);
$this->assertIsString($document1['body']['$sequence']);
$this->assertEquals(201, $document2['headers']['status-code']);
$this->assertEquals($data['moviesId'], $document2['body'][$this->getContainerIdResponseKey()]);
@@ -2640,9 +2638,7 @@ trait DatabasesBase
/**
* Resubmit same document, nothing to update
*/
$this->getSupportForIntegerIds()
? $this->assertIsInt($document['body']['$sequence'])
: $this->assertIsString($document['body']['$sequence']);
$this->assertIsString($document['body']['$sequence']);
$upsertData = [
'title' => 'Thor: Ragnarok',