From 892e42ba3332c715c4c8533686eea00d43a8a29a Mon Sep 17 00:00:00 2001 From: Artur Nowakowski Date: Tue, 7 Jan 2020 20:38:23 +0100 Subject: [PATCH] Retrieving single recipe --- api/app/Http/Controllers/RecipesController.php | 11 +++++++++++ api/app/Repositories/RecipesRepositoryInterface.php | 1 + api/routes/api.php | 1 + 3 files changed, 13 insertions(+) diff --git a/api/app/Http/Controllers/RecipesController.php b/api/app/Http/Controllers/RecipesController.php index c79c0ba..6c0608f 100644 --- a/api/app/Http/Controllers/RecipesController.php +++ b/api/app/Http/Controllers/RecipesController.php @@ -29,4 +29,15 @@ class RecipesController extends Controller return response()->json(['success' => true, 'data' => ['recipes' => $recipes]], 200); } + + public function get(int $id) + { + $recipe = $this->recipesRepository->get($id); + + if(empty($recipe['name'])){ + return response()->json(['success' => true, 'error' => 'Recipe not found'], 404); + } + + return response()->json(['success' => true, 'data' => ['recipe' => $recipe]], 200); + } } diff --git a/api/app/Repositories/RecipesRepositoryInterface.php b/api/app/Repositories/RecipesRepositoryInterface.php index da19acb..87dfbd5 100644 --- a/api/app/Repositories/RecipesRepositoryInterface.php +++ b/api/app/Repositories/RecipesRepositoryInterface.php @@ -9,4 +9,5 @@ interface RecipesRepositoryInterface { public function create(Collection $data); public function paginate(array $filters); + public function get(int $id); } diff --git a/api/routes/api.php b/api/routes/api.php index 9c37508..53ffdef 100644 --- a/api/routes/api.php +++ b/api/routes/api.php @@ -17,6 +17,7 @@ Route::prefix('product')->group(function () { Route::prefix('recipe')->group(function () { Route::post('/', 'RecipesController@add')->middleware(['jwt.auth']); Route::get('/', 'RecipesController@index'); + Route::get('/{id}', 'RecipesController@get'); }); Route::post('calculate', 'ProductsController@calculate');