diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index e1ba5461d6..8ef6a7f050 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -7,6 +7,7 @@ use App\Http\Controllers\Controller; use App\Http\Requests\SaveUserRequest; use App\Http\Transformers\AccessoriesTransformer; use App\Http\Transformers\AssetsTransformer; +use App\Http\Transformers\ConsumablesTransformer; use App\Http\Transformers\LicensesTransformer; use App\Http\Transformers\SelectlistTransformer; use App\Http\Transformers\UsersTransformer; @@ -448,6 +449,24 @@ class UsersController extends Controller return (new AssetsTransformer)->transformAssets($assets, $assets->count(), $request); } + + /** + * Return JSON containing a list of consumables assigned to a user. + * + * @author [A. Gianotto] [] + * @since [v3.0] + * @param $userId + * @return string JSON + */ + public function consumables(Request $request, $id) + { + $this->authorize('view', User::class); + $this->authorize('view', Consumable::class); + $user = User::findOrFail($id); + $consumables = $user->consumables; + return (new ConsumablesTransformer)->transformConsumables($consumables, $consumables->count(), $request); + } + /** * Return JSON containing a list of accessories assigned to a user. * diff --git a/routes/api.php b/routes/api.php index 6b8e926689..dbfc675174 100644 --- a/routes/api.php +++ b/routes/api.php @@ -862,6 +862,13 @@ Route::group(['prefix' => 'v1','namespace' => 'Api', 'middleware' => ['api', 'th ] ); + Route::get('{user}/consumables', + [ + 'as' => 'api.users.consumablelist', + 'uses' => 'UsersController@consumables' + ] + ); + Route::get('{user}/accessories', [