Added support for filtering API lists by updated_at

This commit is contained in:
Hillel Coren 2016-05-04 23:49:20 +03:00
parent 3300619d28
commit 32bf47aacf

View File

@ -90,9 +90,20 @@ class BaseAPIController extends Controller
$transformerClass = EntityModel::getTransformerName($this->entityType);
$transformer = new $transformerClass(Auth::user()->account, Input::get('serializer'));
$include = $transformer->getDefaultIncludes();
$include = $this->getRequestIncludes($include);
$query->with($include);
$includes = $transformer->getDefaultIncludes();
$includes = $this->getRequestIncludes($includes);
if ($updatedAt = Input::get('updated_at')) {
$query->where('updated_at', '>=', $updatedAt);
}
foreach ($includes as $include) {
$query->with([$include => function($query) use ($updatedAt) {
if ($updatedAt) {
$query->where('updated_at', '>=', $updatedAt);
}
}]);
}
if ($clientPublicId = Input::get('client_id')) {
$filter = function($query) use ($clientPublicId) {
@ -156,7 +167,7 @@ class BaseAPIController extends Controller
if (Utils::isNinjaDev()) {
$count = count(\DB::getQueryLog());
Log::info(Request::method() . ' - ' . Request::url() . ": $count queries");
//Log::info(print_r(\DB::getQueryLog(), true));
//Log::info(json_encode(\DB::getQueryLog()));
}
$index = Request::get('index') ?: 'data';