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');