mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
API optimizations
This commit is contained in:
parent
0645cdddb1
commit
be420ad1fc
@ -87,7 +87,12 @@ class BaseAPIController extends Controller
|
|||||||
|
|
||||||
protected function listResponse($query)
|
protected function listResponse($query)
|
||||||
{
|
{
|
||||||
$query->with($this->getIncluded());
|
$transformerClass = EntityModel::getTransformerName($this->entityType);
|
||||||
|
$transformer = new $transformerClass(Auth::user()->account, Input::get('serializer'));
|
||||||
|
|
||||||
|
$include = $transformer->getDefaultIncludes();
|
||||||
|
$include = $this->getRequestIncludes($include);
|
||||||
|
$query->with($include);
|
||||||
|
|
||||||
if ($clientPublicId = Input::get('client_id')) {
|
if ($clientPublicId = Input::get('client_id')) {
|
||||||
$filter = function($query) use ($clientPublicId) {
|
$filter = function($query) use ($clientPublicId) {
|
||||||
@ -104,9 +109,6 @@ class BaseAPIController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$transformerClass = EntityModel::getTransformerName($this->entityType);
|
|
||||||
$transformer = new $transformerClass(Auth::user()->account, Input::get('serializer'));
|
|
||||||
|
|
||||||
$data = $this->createCollection($query, $transformer, $this->entityType);
|
$data = $this->createCollection($query, $transformer, $this->entityType);
|
||||||
|
|
||||||
return $this->response($data);
|
return $this->response($data);
|
||||||
@ -154,6 +156,7 @@ class BaseAPIController extends Controller
|
|||||||
if (Utils::isNinjaDev()) {
|
if (Utils::isNinjaDev()) {
|
||||||
$count = count(\DB::getQueryLog());
|
$count = count(\DB::getQueryLog());
|
||||||
Log::info(Request::method() . ' - ' . Request::url() . ": $count queries");
|
Log::info(Request::method() . ' - ' . Request::url() . ": $count queries");
|
||||||
|
//Log::info(print_r(\DB::getQueryLog(), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
$index = Request::get('index') ?: 'data';
|
$index = Request::get('index') ?: 'data';
|
||||||
@ -188,9 +191,9 @@ class BaseAPIController extends Controller
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getIncluded()
|
protected function getRequestIncludes($data)
|
||||||
{
|
{
|
||||||
$data = ['user'];
|
$data[] = 'user';
|
||||||
|
|
||||||
$included = Request::get('include');
|
$included = Request::get('include');
|
||||||
$included = explode(',', $included);
|
$included = explode(',', $included);
|
||||||
|
@ -37,4 +37,9 @@ class EntityTransformer extends TransformerAbstract
|
|||||||
{
|
{
|
||||||
return $date ? $date->getTimestamp() : null;
|
return $date ? $date->getTimestamp() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getDefaultIncludes()
|
||||||
|
{
|
||||||
|
return $this->defaultIncludes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user