$catalog->categories(), 'products' => $catalog->products(), ]); } public function storeCategory(SaveShopCategoryRequest $request, ShopCatalogService $catalog): RedirectResponse { $catalog->createCategory($request->validated()); return back()->with('status', 'Категория создана.'); } public function updateCategory(ShopCategory $category, SaveShopCategoryRequest $request, ShopCatalogService $catalog): RedirectResponse { $catalog->updateCategory($category, $request->validated()); return back()->with('status', 'Категория обновлена.'); } public function destroyCategory(ShopCategory $category, ShopCatalogService $catalog): RedirectResponse { $catalog->deleteCategory($category); return back()->with('status', 'Категория удалена.'); } public function storeProduct(SaveShopProductRequest $request, ShopCatalogService $catalog): RedirectResponse { $catalog->createProduct($request->validated()); return back()->with('status', 'Товар создан.'); } public function updateProduct(ShopProduct $product, SaveShopProductRequest $request, ShopCatalogService $catalog): RedirectResponse { $catalog->updateProduct($product, $request->validated()); return back()->with('status', 'Товар обновлён.'); } public function destroyProduct(ShopProduct $product, ShopCatalogService $catalog): RedirectResponse { $catalog->deleteProduct($product); return back()->with('status', 'Товар удалён.'); } }