Browse Source

split up update.h

main
Stefan Pranger 3 years ago
parent
commit
0e55e4d2d7
  1. 31
      db/update.cpp
  2. 11
      db/update.h

31
db/update.cpp

@ -0,0 +1,31 @@
#include <db/update.h>
#include <db/statements/builder/InsertStatementBuilder.h>
namespace db {
uint32_t insert_events(sql::Database *db, const ical::IcalObject *object) {
DEBUG << *object;
uint32_t event_id;
for(auto const& event : object->get_events()) {
stmt::Statement insert_object = stmt::Statement::insert().table("events").columns("uid, summary, dtstart, dtend").values().row(event->get_db_row()).close();
DEBUG << insert_object.str();
db->exec(insert_object.str());
event_id = db->execAndGet("SELECT last_insert_rowid();");
DEBUG << event_id;
for(auto const& alarm : event->get_alarms()) {
insert_alarm(db, &alarm, event_id);
}
}
return 0;
}
uint32_t insert_alarm(sql::Database *db, const ical::Alarm *alarm, const uint32_t event_id) {
std::vector<std::string> row = alarm->get_db_row();
row.push_back(std::to_string(event_id));
stmt::Statement insert_alarm = stmt::Statement::insert().table("alarms").columns("action, description, absolute_trigger, eventID").values().row(row).close();
DEBUG << insert_alarm.str();
db->exec(insert_alarm.str());
return 0;
}
}

11
db/update.h

@ -4,13 +4,6 @@
#include <ical/IcalObject.h> #include <ical/IcalObject.h>
namespace db { namespace db {
uint32_t insert_object(sql::Database *db, const ical::IcalObject *object) {
DEBUG << *object;
for(auto const& event : object->get_events()) {
stmt::Statement insert_object = stmt::Statement::insert().table("events").columns("uid, summary, dtstart, dtend").values().row(event->get_db_row()).close();
DEBUG << insert_object.str();
db->exec(insert_object.str());
}
return 0;
}
uint32_t insert_events(sql::Database *db, const ical::IcalObject *object);
uint32_t insert_alarm(sql::Database *db, const ical::Alarm *alarm, const uint32_t event_id);
} }
Loading…
Cancel
Save