Skip to content

Commit

Permalink
IBX-9313: Add languageCodes param to VewsInput
Browse files Browse the repository at this point in the history
  • Loading branch information
tischsoic committed Dec 17, 2024
1 parent fd2cbf5 commit 06b78cc
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/lib/Server/Controller/Views.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,18 @@ public function createView(Request $request)
$method = [$this->searchService, 'findContent'];
}

$languages = [];
if ($viewInput->languageCodes !== null) {
$languages = $viewInput->languageCodes;
}

if ($viewInput->languageCode !== null) {
$languages[] = $viewInput->languageCode;
$languages = array_unique($languages);
}

$languageFilter = [
'languages' => null !== $viewInput->languageCode ? [$viewInput->languageCode] : Language::ALL,
'languages' => empty($languages) ? Language::ALL : $languages,
'useAlwaysAvailable' => $viewInput->useAlwaysAvailable ?? true,
];
$query = $viewInput->query->query;
Expand Down
3 changes: 3 additions & 0 deletions src/lib/Server/Input/Parser/ViewInput.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ public function parse(array $data, ParsingDispatcher $parsingDispatcher)

// language params
$restViewInput->languageCode = $data['languageCode'] ?? null;
$restViewInput->languageCodes =
array_key_exists('languageCodes', $data) && is_array($data['languageCodes'])
? $data['languageCodes'] : null;
$restViewInput->useAlwaysAvailable = $data['useAlwaysAvailable'] ?? null;

// query
Expand Down
3 changes: 3 additions & 0 deletions src/lib/Server/Input/Parser/ViewInputOneDotOne.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ public function parse(array $data, ParsingDispatcher $parsingDispatcher)

// language params
$restViewInput->languageCode = $data['languageCode'] ?? null;
$restViewInput->languageCodes =
array_key_exists('languageCodes', $data) && is_array($data['languageCodes'])
? $data['languageCodes'] : null;
$restViewInput->useAlwaysAvailable = $data['useAlwaysAvailable'] ?? null;

// query
Expand Down
5 changes: 5 additions & 0 deletions src/lib/Server/Values/RestViewInput.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ class RestViewInput extends RestValue
*/
public $languageCode;

/**
* @var [string]|null
*/
public $languageCodes;

/**
* @var bool|null
*/
Expand Down

0 comments on commit 06b78cc

Please sign in to comment.