<feature/server-interface> refactor searchController with success/fail pattern