Convert Document $collectionId in 0.15 response
Document $collection was renamed to $collectionId to match the naming convention of referring to other resource IDs. This ensures backwards compatibility.
This commit is contained in:
parent
01f77fa993
commit
2f08ec0926
|
@ -91,20 +91,17 @@ class V15 extends Filter
|
|||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseCreatedAtUpdatedAt($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_DOCUMENT:
|
||||
$parsedResponse = $this->parseDocument($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_FILE:
|
||||
$parsedResponse = $this->parsePermissionsCreatedAtUpdatedAt($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_DOCUMENT_LIST:
|
||||
$listKey = 'documents';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseDocument($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_FILE_LIST:
|
||||
$listKey = '';
|
||||
switch ($model) {
|
||||
case Response::MODEL_DOCUMENT_LIST:
|
||||
$listKey = 'documents';
|
||||
break;
|
||||
case Response::MODEL_FILE_LIST:
|
||||
$listKey = 'files';
|
||||
break;
|
||||
}
|
||||
$listKey = 'files';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parsePermissionsCreatedAtUpdatedAt($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_EXECUTION:
|
||||
|
@ -318,6 +315,19 @@ class V15 extends Filter
|
|||
return $content;
|
||||
}
|
||||
|
||||
protected function parseDocument(array $content)
|
||||
{
|
||||
if (isset($content['$collectionId'])) {
|
||||
$content['$collection'] = $content['$collectionId'];
|
||||
unset($content['$collectionId']);
|
||||
}
|
||||
|
||||
unset($content['$databaseId']);
|
||||
|
||||
$content = $this->parsePermissionsCreatedAtUpdatedAt($content);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseExecution($content)
|
||||
{
|
||||
unset($content['stdout']);
|
||||
|
|
|
@ -502,9 +502,34 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function documentProvider(): array
|
||||
{
|
||||
return [
|
||||
'basic document' => [
|
||||
[
|
||||
'$id' => '5e5ea5c16897e',
|
||||
'$collectionId' => '5e5ea5c15117e',
|
||||
'$databaseId' => '5e5ea5c15117e',
|
||||
'$createdAt' => '2020-06-24T06:47:30.000Z',
|
||||
'$updatedAt' => '2020-06-24T06:47:30.000Z',
|
||||
'$permissions' => [Permission::read(Role::any())]
|
||||
],
|
||||
[
|
||||
'$id' => '5e5ea5c16897e',
|
||||
'$collection' => '5e5ea5c15117e',
|
||||
'$createdAt' => 1592981250,
|
||||
'$updatedAt' => 1592981250,
|
||||
'$read' => ['role:all'],
|
||||
'$write' => [],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
* @dataProvider documentProvider
|
||||
*/
|
||||
public function testDocument(array $content, array $expected): void
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue