service->indexData($request->validated())); } public function create(BumdesRequest $request): View { return view('bumdes.profil.create', $this->service->profileData()); } public function store(StorePengurusBumdesRequest $request): RedirectResponse { $pengurus = $this->service->storeProfile($request->validated()); return $this->profileSavedResponse($request, $pengurus); } public function show(BumdesRequest $request, PengurusBumdes $pengurusBumdes): RedirectResponse { return redirect()->route('bumdes.edit', $pengurusBumdes); } public function edit(BumdesRequest $request, PengurusBumdes $pengurusBumdes): View { return view('bumdes.profil.edit', $this->service->profileData($pengurusBumdes)); } public function update(UpdatePengurusBumdesRequest $request, PengurusBumdes $pengurusBumdes): RedirectResponse { $this->service->updateProfile($pengurusBumdes, $request->validated()); return $this->profileSavedResponse($request, $pengurusBumdes); } public function destroy(BumdesRequest $request, PengurusBumdes $pengurusBumdes): RedirectResponse { DB::transaction(fn () => $pengurusBumdes->delete()); return redirect()->route('bumdes.index')->with('success', 'Data profil berhasil dihapus.'); } private function profileSavedResponse(BumdesRequest $request, PengurusBumdes $pengurus): RedirectResponse { $fragment = $request->input('redirect_fragment') === 'section-kepengurusan' ? '#section-kepengurusan' : ''; return redirect(route('bumdes.edit', $pengurus).$fragment)->with('success', 'Data Profil berhasil disimpan.'); } }