diff --git a/app/controllers/api/databases.php b/app/controllers/api/databases.php index 593373bc83..e2acb30772 100644 --- a/app/controllers/api/databases.php +++ b/app/controllers/api/databases.php @@ -1941,7 +1941,8 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents') try { $document = $dbForProject->createDocument('database_' . $database->getInternalId() . '_collection_' . $collection->getInternalId(), new Document($data)); - $document->setAttribute('$collection', $collectionId); + $document->setAttribute('$collectionId', $collectionId); + $document->setAttribute('$databaseId', $databaseId); } catch (StructureException $exception) { throw new Exception(Exception::DOCUMENT_INVALID_STRUCTURE, $exception->getMessage()); } catch (DuplicateException $exception) { @@ -2046,7 +2047,11 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents') /** * Reset $collection attribute to remove prefix. */ - $documents = array_map(fn(Document $document) => $document->setAttribute('$collection', $collectionId), $documents); + $documents = array_map(function (Document $document) use ($collectionId, $databaseId) { + $document->setAttribute('$collectionId', $collectionId); + $document->setAttribute('$databaseId', $databaseId); + return $document; + }, $documents); $response->dynamic(new Document([ 'total' => $total, @@ -2110,7 +2115,8 @@ App::get('/v1/databases/:databaseId/collections/:collectionId/documents/:documen /** * Reset $collection attribute to remove prefix. */ - $document->setAttribute('$collection', $collectionId); + $document->setAttribute('$collectionId', $collectionId); + $document->setAttribute('$databaseId', $databaseId); $response->dynamic($document, Response::MODEL_DOCUMENT); }); @@ -2329,7 +2335,8 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum /** * Reset $collection attribute to remove prefix. */ - $document->setAttribute('$collection', $collectionId); + $document->setAttribute('$collectionId', $collectionId); + $document->setAttribute('$databaseId', $databaseId); } catch (AuthorizationException) { throw new Exception(Exception::USER_UNAUTHORIZED); } catch (DuplicateException) { @@ -2421,7 +2428,8 @@ App::delete('/v1/databases/:databaseId/collections/:collectionId/documents/:docu /** * Reset $collection attribute to remove prefix. */ - $document->setAttribute('$collection', $collectionId); + $document->setAttribute('$collectionId', $collectionId); + $document->setAttribute('$databaseId', $databaseId); $deletes ->setType(DELETE_TYPE_AUDIT) diff --git a/app/controllers/web/console.php b/app/controllers/web/console.php index 864ed535f2..f049b2a6ba 100644 --- a/app/controllers/web/console.php +++ b/app/controllers/web/console.php @@ -325,9 +325,9 @@ App::get('/console/databases/document') ->label('permission', 'public') ->label('scope', 'console') ->param('databaseId', '', new UID(), 'Database unique ID.') - ->param('collection', '', new UID(), 'Collection unique ID.') + ->param('collectionId', '', new UID(), 'Collection unique ID.') ->inject('layout') - ->action(function (string $databaseId, string $collection, View $layout) { + ->action(function (string $databaseId, string $collectionId, View $layout) { $logs = new View(__DIR__ . '/../../views/console/comps/logs.phtml'); $logs @@ -335,7 +335,7 @@ App::get('/console/databases/document') ->setParam('method', 'databases.listDocumentLogs') ->setParam('params', [ 'database-id' => '{{router.params.databaseId}}', - 'collection-id' => '{{router.params.collection}}', + 'collection-id' => '{{router.params.collectionId}}', 'document-id' => '{{router.params.id}}', ]) ; @@ -352,7 +352,7 @@ App::get('/console/databases/document') Database::PERMISSION_DELETE, ]) ->setParam('params', [ - 'collection-id' => '{{router.params.collection}}', + 'collection-id' => '{{router.params.collectionId}}', 'database-id' => '{{router.params.databaseId}}', 'document-id' => '{{router.params.id}}', ]); @@ -362,7 +362,7 @@ App::get('/console/databases/document') $page ->setParam('new', false) ->setParam('database', $databaseId) - ->setParam('collection', $collection) + ->setParam('collection', $collectionId) ->setParam('permissions', $permissions) ->setParam('logs', $logs) ; @@ -377,9 +377,9 @@ App::get('/console/databases/document/new') ->label('permission', 'public') ->label('scope', 'console') ->param('databaseId', '', new UID(), 'Database unique ID.') - ->param('collection', '', new UID(), 'Collection unique ID.') + ->param('collectionId', '', new UID(), 'Collection unique ID.') ->inject('layout') - ->action(function (string $databaseId, string $collection, View $layout) { + ->action(function (string $databaseId, string $collectionId, View $layout) { $permissions = new View(__DIR__ . '/../../views/console/comps/permissions-matrix.phtml'); @@ -392,7 +392,7 @@ App::get('/console/databases/document/new') Database::PERMISSION_DELETE, ]) ->setParam('params', [ - 'collection-id' => '{{router.params.collection}}', + 'collection-id' => '{{router.params.collectionId}}', 'database-id' => '{{router.params.databaseId}}', 'document-id' => '{{router.params.id}}', ]); @@ -402,7 +402,7 @@ App::get('/console/databases/document/new') $page ->setParam('new', true) ->setParam('database', $databaseId) - ->setParam('collection', $collection) + ->setParam('collection', $collectionId) ->setParam('permissions', $permissions) ->setParam('logs', new View()) ; diff --git a/app/views/console/databases/collection.phtml b/app/views/console/databases/collection.phtml index 652439857a..3921c5cbe6 100644 --- a/app/views/console/databases/collection.phtml +++ b/app/views/console/databases/collection.phtml @@ -89,11 +89,11 @@ $permissions = $this->getParam('permissions', null);