1 #include "updatecomiccontroller.h" 2 3 #include "db_helper.h" 4 #include "yacreader_libraries.h" 5 6 #include "template.h" 7 #include "../static.h" 8 9 #include "comic_db.h" 10 #include "comic.h" 11 12 #include "QsLog.h" 13 14 using stefanfrings::HttpRequest; 15 using stefanfrings::HttpResponse; 16 using stefanfrings::HttpSession; 17 UpdateComicController()18UpdateComicController::UpdateComicController() { } 19 service(HttpRequest & request,HttpResponse & response)20void UpdateComicController::service(HttpRequest &request, HttpResponse &response) 21 { 22 HttpSession session = Static::sessionStore->getSession(request, response, false); 23 24 QString path = QUrl::fromPercentEncoding(request.getPath()).toUtf8(); 25 QStringList pathElements = path.split('/'); 26 qulonglong libraryId = pathElements.at(2).toULongLong(); 27 QString libraryName = DBHelper::getLibraryName(libraryId); 28 qulonglong comicId = pathElements.at(4).toULongLong(); 29 30 QString postData = QString::fromUtf8(request.getBody()); 31 32 QLOG_TRACE() << "POST DATA: " << postData; 33 34 if (postData.length() > 0) { 35 QList<QString> data = postData.split("\n"); 36 int currentPage = data.at(0).split(":").at(1).toInt(); 37 ComicInfo info; 38 info.currentPage = currentPage; 39 info.id = comicId; 40 DBHelper::updateProgress(libraryId, info); 41 } else { 42 response.setStatus(412, "No comic info received"); 43 response.write("", true); 44 return; 45 } 46 47 response.write("OK", true); 48 } 49