parseDataTableQuery($request); return Inertia::render('admin/manage/purchases/Index', [ 'purchases' => $this->purchaseService->paginateForIndex($tableQuery), 'filters' => $this->dataTableFilters($tableQuery), ]); } public function create(): Response { return Inertia::render('admin/manage/purchases/Create', [ 'suppliers' => $this->purchaseService->supplierOptions(), 'catalog' => $this->purchaseService->catalogItems(), ]); } public function store(PurchaseRequest $request): RedirectResponse { $this->purchaseService->create($request->validated(), $request->user()); Inertia::flash('success', 'Belanja berhasil ditambahkan.'); return redirect()->route('admin.manage.purchases.index'); } public function edit(Purchase $purchase): Response { return Inertia::render('admin/manage/purchases/Edit', [ 'purchase' => $this->purchaseService->findForEdit($purchase), 'suppliers' => $this->purchaseService->supplierOptions(), 'catalog' => $this->purchaseService->catalogItems($purchase), ]); } public function update(PurchaseRequest $request, Purchase $purchase): RedirectResponse { $this->purchaseService->update($purchase, $request->validated()); Inertia::flash('success', 'Belanja berhasil diperbarui.'); return redirect()->route('admin.manage.purchases.index'); } public function destroy(Purchase $purchase): RedirectResponse { $this->purchaseService->delete($purchase); Inertia::flash('success', 'Belanja berhasil dihapus.'); return redirect()->route('admin.manage.purchases.index'); } }