payload) ? $ownerVerificationRequest->payload : []; return response()->json([ 'id' => $ownerVerificationRequest->id, 'action_label' => $ownerVerificationRequest->action->label(), 'subject_label' => ModelLabel::for($ownerVerificationRequest->subject_type), 'submitted_by_name' => $ownerVerificationRequest->submittedBy?->profile?->full_name ?? $ownerVerificationRequest->submittedBy?->username ?? '-', 'created_at_formatted' => $ownerVerificationRequest->created_at?->translatedFormat('l, d F Y H:i'), 'changes' => VerificationChangeFormatter::format($payload), ]); } public function approveCutting(ApproveVerificationRequest $request, Cutting $cutting): RedirectResponse { $this->stockService->approveVerification( $cutting, $request->user(), $request->validated('approval_note'), ); $this->flashSuccess('Verifikasi cutting berhasil disetujui. Stok produk telah ditambahkan ke toko.'); return back(302); } public function rejectCutting(RejectVerificationRequest $request, Cutting $cutting): RedirectResponse { $this->stockService->rejectVerification( $cutting, $request->user(), $request->validated('reason'), ); $this->flashSuccess('Verifikasi cutting berhasil ditolak.'); return back(302); } public function approveRequest( ApproveVerificationRequest $request, OwnerVerificationRequest $ownerVerificationRequest, ): RedirectResponse { $this->ownerVerificationService->approveRequest( $ownerVerificationRequest, $request->user(), $request->validated('approval_note'), ); $this->flashSuccess('Verifikasi berhasil disetujui.'); return back(302); } public function rejectRequest( RejectVerificationRequest $request, OwnerVerificationRequest $ownerVerificationRequest, ): RedirectResponse { $this->ownerVerificationService->rejectRequest( $ownerVerificationRequest, $request->user(), $request->validated('reason'), ); $this->flashSuccess('Verifikasi berhasil ditolak.'); return back(302); } }