diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index 32f1a8b359..edc1bfde03 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -6,6 +6,7 @@ use App\Events\CheckoutableCheckedIn; use App\Http\Requests\StoreAssetRequest; use App\Http\Requests\UpdateAssetRequest; use App\Http\Traits\MigratesLegacyAssetLocations; +use App\Http\Transformers\ComponentsTransformer; use App\Models\AccessoryCheckout; use App\Models\CheckoutAcceptance; use App\Models\LicenseSeat; @@ -1322,9 +1323,17 @@ class AssetsController extends Controller return (new AssetsTransformer)->transformCheckedoutAccessories($accessory_checkouts, $total); } - public function assignedComponents(Request $request, Asset $asset): JsonResponse + public function assignedComponents(Request $request, Asset $asset): JsonResponse|array { - // + $this->authorize('view', Asset::class); + $this->authorize('view', $asset); + + $asset->load('components'); + + $components = $asset->components; + $total = $asset->components->count(); + + return (new ComponentsTransformer)->transformComponents($components, $total); } /** diff --git a/tests/Feature/Assets/Api/AssignedComponentsTest.php b/tests/Feature/Assets/Api/AssignedComponentsTest.php index 13156d8204..9a5d7f28bb 100644 --- a/tests/Feature/Assets/Api/AssignedComponentsTest.php +++ b/tests/Feature/Assets/Api/AssignedComponentsTest.php @@ -54,4 +54,9 @@ class AssignedComponentsTest extends TestCase ->etc(); }); } + + public function test_adheres_to_offset_and_limit() + { + $this->markTestIncomplete(); + } }