diff --git a/app/Api/V1/Controllers/Controller.php b/app/Api/V1/Controllers/Controller.php index c5bd32e287..148934c4b5 100644 --- a/app/Api/V1/Controllers/Controller.php +++ b/app/Api/V1/Controllers/Controller.php @@ -61,6 +61,32 @@ class Controller extends BaseController $this->parameters = $this->getParameters(); } + /** + * @return string + */ + protected function buildParams(): string + { + $return = '?'; + $params = []; + foreach ($this->parameters as $key => $value) { + if($key === 'page') { + continue; + } + if ($value instanceof Carbon) { + $params[$key] = $value->format('Y-m-d'); + } + if (!$value instanceof Carbon) { + $params[$key] = $value; + } + } + $return .= http_build_query($params); + if (strlen($return) === 1) { + return ''; + } + + return $return; + } + /** * @return ParameterBag */ @@ -74,13 +100,13 @@ class Controller extends BaseController $bag->set('page', $page); // some date fields: - $dates = ['start','end','date']; - foreach($dates as $field) { - $date = request()->get($field); - $obj = null; + $dates = ['start', 'end', 'date']; + foreach ($dates as $field) { + $date = request()->get($field); + $obj = null; if (!is_null($date)) { try { - $obj= new Carbon($date); + $obj = new Carbon($date); } catch (InvalidDateException $e) { // don't care }