From abcd4ade9933a4d886efaa52f4622123e850eb7f Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Thu, 10 Nov 2022 14:16:58 +0400 Subject: [PATCH] kiwix::Suggestions::getJSON() --- src/server/internalServer.cpp | 6 +----- src/tools/otherTools.cpp | 9 +++++++++ src/tools/otherTools.h | 2 ++ 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index 38ec37903..dd4c766b5 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -711,11 +711,7 @@ std::unique_ptr InternalServer::handle_suggest(const RequestContext& r results.addFTSearchSuggestion(request.get_user_language(), queryString); } - auto data = get_default_data(); - data.set("suggestions", results); - - auto response = ContentResponse::build(*this, RESOURCE::templates::suggestion_json, data, "application/json; charset=utf-8"); - return std::move(response); + return ContentResponse::build(*this, results.getJSON(), "application/json; charset=utf-8"); } std::unique_ptr InternalServer::handle_viewer_settings(const RequestContext& request) diff --git a/src/tools/otherTools.cpp b/src/tools/otherTools.cpp index 282c604f1..b7606565f 100644 --- a/src/tools/otherTools.cpp +++ b/src/tools/otherTools.cpp @@ -33,6 +33,7 @@ #include "tools/stringTools.h" #include "server/i18n.h" +#include "libkiwix-resources.h" #include #include @@ -375,3 +376,11 @@ void kiwix::Suggestions::addFTSearchSuggestion(const std::string& uiLang, result.set("first", this->is_empty_list()); this->push_back(result); } + +std::string kiwix::Suggestions::getJSON() const +{ + kainjow::mustache::data data; + data.set("suggestions", *this); + + return render_template(RESOURCE::templates::suggestion_json, data); +} diff --git a/src/tools/otherTools.h b/src/tools/otherTools.h index 9316785d2..e9963d08a 100644 --- a/src/tools/otherTools.h +++ b/src/tools/otherTools.h @@ -81,6 +81,8 @@ namespace kiwix void addFTSearchSuggestion(const std::string& uiLang, const std::string& query); + + std::string getJSON() const; }; }