diff --git a/YACReaderLibrary/server/controllers/readingcomicscontroller.cpp b/YACReaderLibrary/server/controllers/readingcomicscontroller.cpp new file mode 100644 index 00000000..77f0124e --- /dev/null +++ b/YACReaderLibrary/server/controllers/readingcomicscontroller.cpp @@ -0,0 +1,37 @@ +#include "readingcomicscontroller.h" + +#include "db_helper.h" +#include "comic_db.h" + +#include "yacreader_server_data_helper.h" + +ReadingComicsController::ReadingComicsController() +{ + +} + +void ReadingComicsController::service(HttpRequest &request, HttpResponse &response) +{ + response.setHeader("Content-Type", "text/plain; charset=utf-8"); + + QString path = QUrl::fromPercentEncoding(request.getPath()).toUtf8(); + QStringList pathElements = path.split('/'); + int libraryId = pathElements.at(2).toInt(); + + serviceContent(libraryId, response); + + response.write("",true); +} + +void ReadingComicsController::serviceContent(const int &library, HttpResponse &response) +{ + //TODO sort comics before serving them + int FIXME; + + QList tagComics = DBHelper::getReading(library); + + for(const ComicDB &comic : tagComics) + { + response.write(YACReaderServerDataHelper::comicToYSFormat(library, comic).toUtf8()); + } +} diff --git a/YACReaderLibrary/server/controllers/readingcomicscontroller.h b/YACReaderLibrary/server/controllers/readingcomicscontroller.h new file mode 100644 index 00000000..da20aab5 --- /dev/null +++ b/YACReaderLibrary/server/controllers/readingcomicscontroller.h @@ -0,0 +1,20 @@ +#ifndef READINGCOMICSCONTROLLER_H +#define READINGCOMICSCONTROLLER_H + +#include "httprequest.h" +#include "httpresponse.h" +#include "httprequesthandler.h" + +class ReadingComicsController : public HttpRequestHandler { + Q_OBJECT + Q_DISABLE_COPY(ReadingComicsController) +public: + ReadingComicsController(); + + void service(HttpRequest& request, HttpResponse& response); + +private: + void serviceContent(const int &library, HttpResponse &response); +}; + +#endif // READINGCOMICSCONTROLLER_H diff --git a/YACReaderLibrary/server/server.pri b/YACReaderLibrary/server/server.pri index d54d0a33..b64ee632 100644 --- a/YACReaderLibrary/server/server.pri +++ b/YACReaderLibrary/server/server.pri @@ -24,7 +24,8 @@ HEADERS += \ $$PWD/yacreader_http_session_store.h \ $$PWD/controllers/tagcontentcontroller.h \ $$PWD/yacreader_server_data_helper.h \ - $$PWD/controllers/favoritescontroller.h + $$PWD/controllers/favoritescontroller.h \ + $$PWD/controllers/readingcomicscontroller.h SOURCES += \ $$PWD/static.cpp \ @@ -49,7 +50,8 @@ SOURCES += \ $$PWD/yacreader_http_session_store.cpp \ $$PWD/controllers/tagcontentcontroller.cpp \ $$PWD/yacreader_server_data_helper.cpp \ - $$PWD/controllers/favoritescontroller.cpp + $$PWD/controllers/favoritescontroller.cpp \ + $$PWD/controllers/readingcomicscontroller.cpp include(lib/logging/logging.pri) include(lib/httpserver/httpserver.pri)