One more refactor, hopefully simplifying

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2023-01-09 20:40:12 -08:00
parent ae76d46f87
commit cc665d50ed

View file

@ -381,23 +381,19 @@ class AssetsController extends Controller
if (($assets = $assets->get()) && ($assets->count()) > 0) { if (($assets = $assets->get()) && ($assets->count()) > 0) {
// If there is only one result, we should pull the first (and only) asset from the returned collection, since // If there is exactly one result and the deleted parameter is not passed, we should pull the first (and only)
// transformAsset() expects an Asset object, NOT a collection // asset from the returned collection, since transformAsset() expects an Asset object, NOT a collection
if ($assets->count() == 1) { if (($assets->count() == 1) && ($request->input('deleted') != 'true')) {
return (new AssetsTransformer)->transformAsset($assets->first()); return (new AssetsTransformer)->transformAsset($assets->first());
// If there is more than one result OR if the endpoint is requesting deleted items (even if there is only one // If there is more than one result OR if the endpoint is requesting deleted items (even if there is only one
// match, return the normal collection transformed. // match, return the normal collection transformed.
} elseif (($assets->count() > 1) || ($request->input('deleted') == 'true')) { } else {
return (new AssetsTransformer)->transformAssets($assets, $assets->count()); return (new AssetsTransformer)->transformAssets($assets, $assets->count());
} }
} }
// If there are 0 results, return the "no such asset" response
return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/hardware/message.does_not_exist')), 200);
} }
/** /**
@ -422,14 +418,14 @@ class AssetsController extends Controller
if (($assets = $assets->get()) && ($assets->count()) > 0) { if (($assets = $assets->get()) && ($assets->count()) > 0) {
// If there is exactly one result, we should pull the first (and only) asset from the returned collection, since // If there is exactly one result and the deleted parameter is not passed, we should pull the first (and only)
// transformAsset() expects an Asset object, NOT a collection // asset from the returned collection, since transformAsset() expects an Asset object, NOT a collection
if ($assets->count() == 1) { if (($assets->count() == 1) && ($request->input('deleted') != 'true')) {
return (new AssetsTransformer)->transformAsset($assets->first()); return (new AssetsTransformer)->transformAsset($assets->first());
// If there is more than one result OR if the endpoint is requesting deleted items (even if there is only one // If there is more than one result OR if the endpoint is requesting deleted items (even if there is only one
// match, return the normal collection transformed. // match, return the normal collection transformed.
} elseif (($assets->count() > 1) || ($request->input('deleted') == 'true')) { } else {
return (new AssetsTransformer)->transformAssets($assets, $assets->count()); return (new AssetsTransformer)->transformAssets($assets, $assets->count());
} }