diff --git a/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp b/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp index 87a71ec8..bd803e44 100644 --- a/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp +++ b/YACReaderLibrary/server/controllers/v2/librariescontroller_v2.cpp @@ -1,7 +1,6 @@ #include "librariescontroller_v2.h" #include "db_helper.h" //get libraries #include "yacreader_libraries.h" -#include "yacreader_http_session.h" #include "template.h" #include "../static.h" @@ -13,30 +12,28 @@ LibrariesControllerV2::LibrariesControllerV2() {} void LibrariesControllerV2::service(HttpRequest& request, HttpResponse& response) { HttpSession session=Static::sessionStore->getSession(request,response,false); - YACReaderHttpSession *ySession = Static::yacreaderSessionStore->getYACReaderSessionHttpSession(session.getId()); - response.setHeader("Content-Type", "text/html; charset=utf-8"); + response.setHeader("Content-Type", "application/json"); response.setHeader("Connection","close"); - ySession->clearNavigationPath(); - - Template t=Static::templateLoader->getTemplate("libraries_"+ySession->getDeviceType(),request.getHeader("Accept-Language")); - t.enableWarnings(); - YACReaderLibraries libraries = DBHelper::getLibraries(); QList names = DBHelper::getLibrariesNames(); - t.loop("library",names.length()); + QJsonArray librariesJson; int currentId = 0; - int i = 0; foreach (QString name,names) { - currentId = libraries.getId(name); - t.setVariable(QString("library%1.name").arg(i),QString::number(currentId)); - t.setVariable(QString("library%1.label").arg(i),name); - i++; + currentId = libraries.getId(name); + QJsonObject library; + + library["name"] = name; + library["id"] = currentId; + + librariesJson.append(library); } + QJsonDocument output(librariesJson); + response.setStatus(200,"OK"); - response.write(t.toUtf8(),true); + response.write(output.toJson(),true); }