$this->service->paginated( ...$request->validatedWithDefaults(), filters: $request->only(['status']), ), 'filters' => $request->only(['status']), 'filterOptions' => [ 'statusOptions' => LeaveRequestStatus::toSelect(), ], ]); } public function store(LeaveRequestRequest $request): RedirectResponse { return $this->handleAction( fn () => $this->service->create($request->validated()), 'Permohonan cuti berhasil ditambahkan.', 'admin.hr.leave-requests.index' ); } public function update(LeaveRequestRequest $request, LeaveRequest $leaveRequest): RedirectResponse { return $this->handleAction( fn () => $this->service->update($leaveRequest, $request->validated()), 'Permohonan cuti berhasil diperbarui.', 'admin.hr.leave-requests.index' ); } public function destroy(LeaveRequest $leaveRequest): RedirectResponse { return $this->handleAction( fn () => $this->service->delete($leaveRequest), 'Permohonan cuti berhasil dihapus.', 'admin.hr.leave-requests.index' ); } public function approve(LeaveRequest $leaveRequest): RedirectResponse { return $this->handleAction( fn () => $this->service->approve($leaveRequest), 'Permohonan cuti berhasil disetujui.', 'admin.hr.leave-requests.index' ); } public function reject(LeaveRequest $leaveRequest): RedirectResponse { return $this->handleAction( fn () => $this->service->reject($leaveRequest), 'Permohonan cuti berhasil ditolak.', 'admin.hr.leave-requests.index' ); } }