only(['search']); $data = $this->listMainSectionsAction->run($filters); return Inertia::render('Dashboard/MainSections/Index', $data); } /** * Показывает форму создания раздела */ public function create(): \Inertia\Response { return Inertia::render('Dashboard/MainSections/Create'); } /** * Создает новый главный раздел */ public function store(StoreMainSectionRequest $request): RedirectResponse { try { $validated = $request->validated(); $this->createMainSectionAction->run($validated); return redirect()->route('dashboard.main-sections.index') ->with('success', 'Главный раздел успешно создан!'); } catch (\Exception $e) { return back() ->withInput() ->with('error', 'Ошибка при создании главного раздела: ' . $e->getMessage()); } } /** * Показывает форму редактирования раздела */ public function edit(MainSection $mainSection): \Inertia\Response { $mainSection->load(['subSections']); return Inertia::render('Dashboard/MainSections/Edit', [ 'mainSection' => $mainSection, ]); } /** * Обновляет существующий главный раздел */ public function update(UpdateMainSectionRequest $request, MainSection $mainSection): RedirectResponse { try { $validated = $request->validated(); $this->updateMainSectionAction->run($mainSection, $validated); return redirect()->route('dashboard.main-sections.index') ->with('success', 'Главный раздел успешно обновлен!'); } catch (\Exception $e) { return back() ->withInput() ->with('error', 'Ошибка при обновлении главного раздела: ' . $e->getMessage()); } } /** * Удаляет главный раздел */ public function destroy(MainSection $mainSection): RedirectResponse { try { $this->deleteMainSectionAction->run($mainSection); return redirect()->route('dashboard.main-sections.index') ->with('success', 'Главный раздел успешно удален!'); } catch (\Exception $e) { return back() ->with('error', 'Ошибка при удалении главного раздела: ' . $e->getMessage()); } } }