1
0
Fork 0
mirror of https://gitlab.com/niansa/dpplogger.git synced 2025-03-06 20:48:29 +01:00

Minor fix in user presence logging

This commit is contained in:
niansa 2023-01-10 17:29:33 +01:00
parent a45ee4f1d9
commit 3d640d0074

View file

@ -465,20 +465,23 @@ protected:
void insertUserPresenceUpdate(const Json::Value& data, bool is_initial) {
// Build status
std::string status_str;
bool is_online;
{
const auto& client_status = data["client_status"];
if (client_status.isArray() && !client_status.empty()) {
const auto device = client_status.getMemberNames()[0];
status_str = "[\""+client_status[device].asString()+"\", \""+device+"\"]";
is_online = true;
} else {
status_str = R"(["offline", "none"])";
is_online = false;
}
}
// Insert
db << "INSERT INTO user_presences (user_id, is_initial, timestamp, status, activities)"
" VALUES (?, ?, ?, ?, ? );"
<< data["user"]["id"].asString() << is_initial << std::to_string(time(nullptr)) << status_str << GetJSONAsOptionalJSONData(data["activities"]);
<< data["user"]["id"].asString() << is_initial << std::to_string(time(nullptr)) << status_str << (is_online?GetJSONAsOptionalJSONData(data["activities"]):std::optional<std::string>());
}
/*