|WP_Error * @param WP_REST_Request> $request */ public function show_detail( WP_REST_Request $request ): array|WP_Error { $link_to_show = $this->requested_link->find( $request ); if ( null === $link_to_show ) { return LinkNotFound::missing(); } if ( ! $this->is_in_problem_lists( $link_to_show ) ) { return LinkNotFound::not_listed(); } return $this->link_detail_presenter->present( $link_to_show ); } private function is_in_problem_lists( Link $link ): bool { $has_problem_verdict = in_array( $link->verdict, LinkStatusFilter::PROBLEM_VERDICTS, true ); return Outcome::Listed === $link->outcome && $has_problem_verdict; } }