validate([ 'status' => 'required|in:approved,rejected', 'comment' => 'required_if:status,rejected' ]); $document->approvals()->create([ 'user_id' => auth()->id(), 'status' => $validated['status'], 'comment' => $validated['comment'] ?? null ]); $document->update(['status' => $validated['status']]); event(new DocumentStatusChanged($document, $validated['status'])); } }