aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kusatz <max@trialserver.de>2020-10-19 13:53:27 +0200
committerMax Kusatz <max@trialserver.de>2020-10-19 13:53:27 +0200
commit0064d0dd4e1be77714d60c4548294abd73391137 (patch)
tree9f435ab587fdf78c8dc3727bd50bd9239527b116
parent37724b791e4fe4966106d20f7f17b553573ec59c (diff)
downloadn_core-0064d0dd4e1be77714d60c4548294abd73391137.tar.gz
n_core-0064d0dd4e1be77714d60c4548294abd73391137.zip
further working on Mensa function
-rw-r--r--include/GetEssen.hpp2
-rw-r--r--src/GetEssen.cpp24
2 files changed, 20 insertions, 6 deletions
diff --git a/include/GetEssen.hpp b/include/GetEssen.hpp
index b53c028..06aafe2 100644
--- a/include/GetEssen.hpp
+++ b/include/GetEssen.hpp
@@ -30,7 +30,7 @@ namespace Handler {
};
- bool db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const string &message);
+ bool db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const std::vector<crow::json::wvalue> &message);
bool db_insert_mensa_message(const int &mensaID, const ptime &mensaDatum, const string &message);
diff --git a/src/GetEssen.cpp b/src/GetEssen.cpp
index 69a8e5e..44dae59 100644
--- a/src/GetEssen.cpp
+++ b/src/GetEssen.cpp
@@ -6,8 +6,15 @@
using std::string;
bool
-Handler::MensaHandler::db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const string &message) {
+Handler::MensaHandler::db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const std::vector<crow::json::wvalue> &message) {
sqdb::Db db("../main.sqlite");
+
+ std::string messageFromJSON;
+ for (auto &mes : message){
+ messageFromJSON.append(mes.keys().at(0));
+ }
+
+
string newTime = to_simple_string(ptime(boost::posix_time::second_clock::local_time()));
string mensaDatumString =
std::to_string(mensaDatum.date().year()) + "-" + mensaDatum.date().month().as_short_string() + "-" +
@@ -15,7 +22,7 @@ Handler::MensaHandler::db_update_mensa_message(const int &mensaID, const ptime &
sqdb::QueryStr str;
db.Query(str.Format(
SQDB_MAKE_TEXT("update mensa set Message = '%s', LastModified = '%s' where ID = %i and Datum = '%s';"),
- message.c_str(), newTime.c_str(), mensaID, mensaDatumString.c_str())).Next();
+ messageFromJSON.c_str(), newTime.c_str(), mensaID, mensaDatumString.c_str())).Next();
return true;
}
@@ -49,7 +56,7 @@ Handler::MensaHandler::db_get_mensa_message(const int &mensaID, const ptime &men
if (s.Next()) {
int ID = s.GetField(0);
auto tmpData = crow::json::load(s.GetField(1).GetString());
- string Message = tmpData.;
+ auto Message = tmpData;
string Datum = s.GetField(2);
string LastModified = s.GetField(3);
@@ -57,7 +64,7 @@ Handler::MensaHandler::db_get_mensa_message(const int &mensaID, const ptime &men
ptime LMDate(boost::posix_time::time_from_string(LastModified));
out.ID = ID;
- out.Message = Message;
+ out.Message.push(Message);
out.Datum = mensaDatum;
out.LastModified = LMDate;
return out;
@@ -108,6 +115,8 @@ std::vector<crow::json::wvalue> Handler::MensaHandler::getEssen(const int mensa_
std::vector<crow::json::wvalue> Handler::MensaHandler::read_mensa_message_from_file(const int &mensa_id_file) {
std::vector<crow::json::wvalue> reply_vec;
+ crow::json::wvalue test;
+
string s;
bool serious = false;
@@ -249,7 +258,12 @@ Handler::MensaHandler::getEssenOnline(int mensa_ID, boost::posix_time::ptime dat
return reply_vec;
}
- db_insert_mensa_message(mensa_ID, datumEssen, crow::json::dump(read_mensa_message_from_file(mensa_ID)));
+ std::string jsonMessage;
+ for (auto &mes : read_mensa_message_from_file(mensa_ID)){
+ jsonMessage.append(crow::json::dump(mes));
+ }
+
+ db_insert_mensa_message(mensa_ID, datumEssen, jsonMessage);
return parseEssen(db_get_mensa_message(mensa_ID, datumEssen));
}