From bcbe5174466a322abd6100fcf92f65e58b38b85c Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 15 Nov 2022 17:18:09 +0000 Subject: [PATCH] Added ability to include deleted items in tag search endpoint Signed-off-by: snipe --- app/Http/Controllers/Api/AssetsController.php | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index 04bc6d35db..4a76bb36c3 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -371,13 +371,27 @@ class AssetsController extends Controller */ public function showByTag(Request $request, $tag) { - if ($asset = Asset::with('assetstatus')->with('assignedTo')->where('asset_tag', $tag)->first()) { - $this->authorize('view', $asset); - - return (new AssetsTransformer)->transformAsset($asset, $request); + $this->authorize('index', Asset::class); + if ($assets = Asset::with('assetstatus')->with('assignedTo') + ->withTrashed()->where('asset_tag', $tag)->get()) { + return (new AssetsTransformer)->transformAssets($assets, $assets->count()); } return response()->json(Helper::formatStandardApiResponse('error', null, 'Asset not found'), 200); + $assets = Asset::with('assetstatus')->with('assignedTo'); + + if ($request->input('deleted', 'false') === 'true') { + $assets = $assets->withTrashed(); + } + + $assets = $assets->where('asset_tag', $tag)->get(); + + if ($assets) { + return (new AssetsTransformer)->transformAssets($assets, $assets->count()); + } else { + return response()->json(Helper::formatStandardApiResponse('error', null, 'Asset not found'), 200); + } + } /** @@ -401,7 +415,7 @@ class AssetsController extends Controller if ($request->input('deleted', 'false') === 'true') { $assets = $assets->withTrashed(); - } + } $assets = $assets->where('serial', $serial)->get(); if ($assets) {