Added scoping for categories and companies
Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
@@ -56,17 +56,29 @@ class CompaniesController extends Controller
|
||||
$companies->where('email', '=', $request->input('email'));
|
||||
}
|
||||
|
||||
if ($request->filled('created_by')) {
|
||||
$companies->where('created_by', '=', $request->input('created_by'));
|
||||
}
|
||||
|
||||
|
||||
// Make sure the offset and limit are actually integers and do not exceed system limits
|
||||
$offset = ($request->input('offset') > $companies->count()) ? $companies->count() : app('api_offset_value');
|
||||
$limit = app('api_limit_value');
|
||||
|
||||
|
||||
$order = $request->input('order') === 'asc' ? 'asc' : 'desc';
|
||||
$sort = in_array($request->input('sort'), $allowed_columns) ? $request->input('sort') : 'created_at';
|
||||
$companies->orderBy($sort, $order);
|
||||
$sort_override = $request->input('sort');
|
||||
$column_sort = in_array($sort_override, $allowed_columns) ? $sort_override : 'created_at';
|
||||
|
||||
switch ($sort_override) {
|
||||
case 'created_by':
|
||||
$companies = $companies->OrderByCreatedBy($order);
|
||||
break;
|
||||
default:
|
||||
$companies = $companies->orderBy($column_sort, $order);
|
||||
break;
|
||||
}
|
||||
|
||||
$total = $companies->count();
|
||||
|
||||
$companies = $companies->skip($offset)->take($limit)->get();
|
||||
return (new CompaniesTransformer)->transformCompanies($companies, $total);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user