<?php namespace App\Http\Controllers; use App\Http\Requests\AddRecipeRequest; use App\Repositories\RecipesRepositoryInterface; use Illuminate\Http\Request; class RecipesController extends Controller { private $recipesRepository; public function __construct(RecipesRepositoryInterface $recipesRepository) { $this->recipesRepository = $recipesRepository; } public function add(AddRecipeRequest $request) { $recipe = $this->recipesRepository->create(collect($request->all())); return response()->json(['success' => true, 'data' => ['recipe' => $recipe]], 200); } public function index(Request $request) { $filters = $this->getFilters($request); $recipes = $this->recipesRepository->paginate($filters); return response()->json(['success' => true, 'data' => ['recipes' => $recipes]], 200); } }