Skip to content

Commit

Permalink
update legacy visible columns support
Browse files Browse the repository at this point in the history
  • Loading branch information
wellingguzman committed Apr 26, 2017
1 parent dcaa963 commit 9be7117
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions api/core/Directus/Database/TableGateway/RelationalTableGateway.php
Expand Up @@ -624,6 +624,19 @@ public function applyDefaultEntriesSelectParams(array $params)
// Stripe whitespaces
$columns = array_map('trim', $columns);

// ----------------------------------------------------------------------------
// merge legacy visible columns param
// ----------------------------------------------------------------------------
// if both columns and columns_visible are passed columns are prioritized
// ----------------------------------------------------------------------------
$visibleColumns = ArrayUtils::get($params, 'columns_visible', []);
// columns_visible are expected to be an array
if (!is_array($visibleColumns)) {
$visibleColumns = [$visibleColumns];
}

$columns = array_merge($visibleColumns, $columns);

// Add columns to params if it's not empty.
// otherwise remove from params
if (!empty($columns)) {
Expand Down Expand Up @@ -773,8 +786,8 @@ public function loadItems(array $params = [], \Closure $queryCallback = null)
$builder = new Builder($this->getAdapter());
$builder->from($this->getTable());

if (ArrayUtils::has($params, 'columns') || ArrayUtils::has($params, 'columns_visible')) {
$columns = array_unique(array_merge($tableSchema->getPrimaryKeysName(), ArrayUtils::get($params, 'columns', []), ArrayUtils::get($params, 'columns_visible', [])));
if (ArrayUtils::has($params, 'columns')) {
$columns = array_unique(array_merge($tableSchema->getPrimaryKeysName(), ArrayUtils::get($params, 'columns', [])));
} else {
$columns = $tableSchema->getColumnsName();
}
Expand Down Expand Up @@ -806,7 +819,7 @@ public function loadItems(array $params = [], \Closure $queryCallback = null)

$depth = ArrayUtils::get($params, 'depth', null);
if ($depth !== null) {
$paramColumns = array_merge(ArrayUtils::get($params, 'columns', []), ArrayUtils::get($params, 'columns_visible', []));
$paramColumns = ArrayUtils::get($params, 'columns', []);
$relationalColumns = $tableSchema->getRelationalColumnsName();

if ($paramColumns) {
Expand Down

0 comments on commit 9be7117

Please sign in to comment.