protected function prepareFilter(array $parameters)
{
$paramConvert = ['created' => ['utc_created_on', 'date'], 'updated' => ['utc_last_updated', 'date'], 'state' => ['status', 'string'], 'creator' => ['reported_by', 'string'], 'assignee' => ['responsible', 'string'], 'milestone' => ['milestone', 'string']];
$newParams = [];
if (!empty($parameters['sort'])) {
if (isset($parameters['direction']) && 'desc' === $parameters['direction']) {
$newParams['sort'] = '-' . $paramConvert[$parameters['sort']][0];
} else {
$newParams['sort'] = $paramConvert[$parameters['sort']][0];
}
}
foreach ($paramConvert as $name => $param) {
if (!empty($parameters[$name])) {
$newParams[$paramConvert[$name][0]] = $parameters[$name];
}
}
// Filter only support one condition (no or-case), so its emulated when there is more then one
if (!empty($parameters['labels']) && false === strpos($parameters['labels'], ',')) {
$newParams[$this->detectLabelType($parameters['labels'])] = $parameters['labels'];
}
return $newParams;
}