From 3df9260ca8c0db639a53059784398b104b3096dd Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 28 Jun 2022 19:59:45 -0700 Subject: [PATCH] Added additional filters for api indexes Signed-off-by: snipe --- .../Controllers/Api/CategoriesController.php | 22 ++++++++++ .../Controllers/Api/CompaniesController.php | 5 +++ .../Controllers/Api/ComponentsController.php | 4 ++ .../Controllers/Api/ConsumablesController.php | 4 ++ .../Controllers/Api/DepartmentsController.php | 16 ++++++++ app/Http/Controllers/Api/GroupsController.php | 4 ++ .../Api/ManufacturersController.php | 20 ++++++++++ .../Api/StatuslabelsController.php | 4 ++ .../Controllers/Api/SuppliersController.php | 40 +++++++++++++++++++ 9 files changed, 119 insertions(+) diff --git a/app/Http/Controllers/Api/CategoriesController.php b/app/Http/Controllers/Api/CategoriesController.php index 931056286..164928aab 100644 --- a/app/Http/Controllers/Api/CategoriesController.php +++ b/app/Http/Controllers/Api/CategoriesController.php @@ -32,6 +32,28 @@ class CategoriesController extends Controller $categories = $categories->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $categories->where('name', '=', $request->input('name')); + } + + if ($request->filled('category_type')) { + $categories->where('category_type', '=', $request->input('category_type')); + } + + if ($request->filled('use_default_eula')) { + $categories->where('use_default_eula', '=', $request->input('use_default_eula')); + } + + if ($request->filled('require_acceptance')) { + $categories->where('require_acceptance', '=', $request->input('require_acceptance')); + } + + if ($request->filled('checkin_email')) { + $categories->where('checkin_email', '=', $request->input('checkin_email')); + } + + + // Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which // case we override with the actual count, so we should return 0 items. $offset = (($categories) && ($request->get('offset') > $categories->count())) ? $categories->count() : $request->get('offset', 0); diff --git a/app/Http/Controllers/Api/CompaniesController.php b/app/Http/Controllers/Api/CompaniesController.php index 8efe9f1c7..11f584567 100644 --- a/app/Http/Controllers/Api/CompaniesController.php +++ b/app/Http/Controllers/Api/CompaniesController.php @@ -43,6 +43,11 @@ class CompaniesController extends Controller $companies->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $companies->where('name', '=', $request->input('name')); + } + + // Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which // case we override with the actual count, so we should return 0 items. $offset = (($companies) && ($request->get('offset') > $companies->count())) ? $companies->count() : $request->get('offset', 0); diff --git a/app/Http/Controllers/Api/ComponentsController.php b/app/Http/Controllers/Api/ComponentsController.php index a3938bd39..e72e17eb2 100644 --- a/app/Http/Controllers/Api/ComponentsController.php +++ b/app/Http/Controllers/Api/ComponentsController.php @@ -51,6 +51,10 @@ class ComponentsController extends Controller $components = $components->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $components->where('name', '=', $request->input('name')); + } + if ($request->filled('company_id')) { $components->where('company_id', '=', $request->input('company_id')); } diff --git a/app/Http/Controllers/Api/ConsumablesController.php b/app/Http/Controllers/Api/ConsumablesController.php index 7792663ef..a3aa09736 100644 --- a/app/Http/Controllers/Api/ConsumablesController.php +++ b/app/Http/Controllers/Api/ConsumablesController.php @@ -55,6 +55,10 @@ class ConsumablesController extends Controller $consumables = $consumables->TextSearch(e($request->input('search'))); } + if ($request->filled('name')) { + $consumables->where('name', '=', $request->input('name')); + } + if ($request->filled('company_id')) { $consumables->where('company_id', '=', $request->input('company_id')); } diff --git a/app/Http/Controllers/Api/DepartmentsController.php b/app/Http/Controllers/Api/DepartmentsController.php index 314de2aa5..09e367736 100644 --- a/app/Http/Controllers/Api/DepartmentsController.php +++ b/app/Http/Controllers/Api/DepartmentsController.php @@ -42,6 +42,22 @@ class DepartmentsController extends Controller $departments = $departments->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $departments->where('name', '=', $request->input('name')); + } + + if ($request->filled('company_id')) { + $departments->where('company_id', '=', $request->input('company_id')); + } + + if ($request->filled('manager_id')) { + $departments->where('manager_id', '=', $request->input('manager_id')); + } + + if ($request->filled('location_id')) { + $departments->where('location_id', '=', $request->input('location_id')); + } + // Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which // case we override with the actual count, so we should return 0 items. $offset = (($departments) && ($request->get('offset') > $departments->count())) ? $departments->count() : $request->get('offset', 0); diff --git a/app/Http/Controllers/Api/GroupsController.php b/app/Http/Controllers/Api/GroupsController.php index 5a3fe0642..2c3776062 100644 --- a/app/Http/Controllers/Api/GroupsController.php +++ b/app/Http/Controllers/Api/GroupsController.php @@ -28,6 +28,10 @@ class GroupsController extends Controller $groups = $groups->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $groups->where('name', '=', $request->input('name')); + } + // Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which // case we override with the actual count, so we should return 0 items. $offset = (($groups) && ($request->get('offset') > $groups->count())) ? $groups->count() : $request->get('offset', 0); diff --git a/app/Http/Controllers/Api/ManufacturersController.php b/app/Http/Controllers/Api/ManufacturersController.php index b1a411fc5..e88ef5fed 100644 --- a/app/Http/Controllers/Api/ManufacturersController.php +++ b/app/Http/Controllers/Api/ManufacturersController.php @@ -37,6 +37,26 @@ class ManufacturersController extends Controller $manufacturers = $manufacturers->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $manufacturers->where('name', '=', $request->input('name')); + } + + if ($request->filled('url')) { + $manufacturers->where('url', '=', $request->input('url')); + } + + if ($request->filled('support_url')) { + $manufacturers->where('support_url', '=', $request->input('support_url')); + } + + if ($request->filled('support_phone')) { + $manufacturers->where('support_phone', '=', $request->input('support_phone')); + } + + if ($request->filled('support_email')) { + $manufacturers->where('support_email', '=', $request->input('support_email')); + } + // Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which // case we override with the actual count, so we should return 0 items. $offset = (($manufacturers) && ($request->get('offset') > $manufacturers->count())) ? $manufacturers->count() : $request->get('offset', 0); diff --git a/app/Http/Controllers/Api/StatuslabelsController.php b/app/Http/Controllers/Api/StatuslabelsController.php index f94600e1d..b2522a8a5 100644 --- a/app/Http/Controllers/Api/StatuslabelsController.php +++ b/app/Http/Controllers/Api/StatuslabelsController.php @@ -30,6 +30,10 @@ class StatuslabelsController extends Controller $statuslabels = $statuslabels->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $statuslabels->where('name', '=', $request->input('name')); + } + // if a status_type is passed, filter by that if ($request->filled('status_type')) { diff --git a/app/Http/Controllers/Api/SuppliersController.php b/app/Http/Controllers/Api/SuppliersController.php index 40ff9e8bd..f73f15049 100644 --- a/app/Http/Controllers/Api/SuppliersController.php +++ b/app/Http/Controllers/Api/SuppliersController.php @@ -34,6 +34,46 @@ class SuppliersController extends Controller $suppliers = $suppliers->TextSearch($request->input('search')); } + if ($request->filled('name')) { + $suppliers->where('name', '=', $request->input('name')); + } + + if ($request->filled('address')) { + $suppliers->where('address', '=', $request->input('address')); + } + + if ($request->filled('address2')) { + $suppliers->where('address2', '=', $request->input('address2')); + } + + if ($request->filled('city')) { + $suppliers->where('city', '=', $request->input('city')); + } + + if ($request->filled('zip')) { + $suppliers->where('zip', '=', $request->input('zip')); + } + + if ($request->filled('country')) { + $suppliers->where('country', '=', $request->input('country')); + } + + if ($request->filled('fax')) { + $suppliers->where('fax', '=', $request->input('fax')); + } + + if ($request->filled('email')) { + $suppliers->where('email', '=', $request->input('email')); + } + + if ($request->filled('url')) { + $suppliers->where('url', '=', $request->input('url')); + } + + if ($request->filled('notes')) { + $suppliers->where('notes', '=', $request->input('notes')); + } + // Set the offset to the API call's offset, unless the offset is higher than the actual count of items in which // case we override with the actual count, so we should return 0 items. $offset = (($suppliers) && ($request->get('offset') > $suppliers->count())) ? $suppliers->count() : $request->get('offset', 0);