public function validateSort(RepositoryInterface $object, array $options)
{
if (isset($options['sort'])) {
$direction = null;
if (isset($options['direction'])) {
$direction = strtolower($options['direction']);
}
if (!in_array($direction, ['asc', 'desc'])) {
$direction = 'asc';
}
$options['order'] = [$options['sort'] => $direction];
}
unset($options['sort'], $options['direction']);
if (empty($options['order'])) {
$options['order'] = [];
}
if (!is_array($options['order'])) {
return $options;
}
$inWhitelist = false;
if (isset($options['sortWhitelist'])) {
$field = key($options['order']);
$inWhitelist = in_array($field, $options['sortWhitelist'], true);
if (!$inWhitelist) {
$options['order'] = [];
return $options;
}
}
$options['order'] = $this->_prefix($object, $options['order'], $inWhitelist);
return $options;
}