From 5c10fffa3bf9e013f7e80c4c48aac17002863019 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Thu, 29 Jul 2021 12:15:00 +0200 Subject: [PATCH] Icinga DB: introduce Checkable#last_comment_id --- lib/icingadb/icingadb-objects.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/icingadb/icingadb-objects.cpp b/lib/icingadb/icingadb-objects.cpp index 16fc63b58..7267dbc8b 100644 --- a/lib/icingadb/icingadb-objects.cpp +++ b/lib/icingadb/icingadb-objects.cpp @@ -1895,6 +1895,8 @@ void IcingaDB::SendAddedComment(const Comment::Ptr& comment) } m_Rcon->FireAndForgetQuery(std::move(xAdd), Prio::History); + UpdateState(checkable); + SendStatusUpdate(checkable); } void IcingaDB::SendRemovedComment(const Comment::Ptr& comment) @@ -1962,6 +1964,8 @@ void IcingaDB::SendRemovedComment(const Comment::Ptr& comment) } m_Rcon->FireAndForgetQuery(std::move(xAdd), Prio::History); + UpdateState(checkable); + SendStatusUpdate(checkable); } void IcingaDB::SendFlappingChange(const Checkable::Ptr& checkable, double changeTime, double flappingLastChange) @@ -2253,6 +2257,14 @@ Dictionary::Ptr IcingaDB::SerializeState(const Checkable::Ptr& checkable) } } + { + auto lastComment (checkable->GetLastComment()); + + if (lastComment) { + attrs->Set("last_comment_id", GetObjectIdentifier(lastComment)); + } + } + attrs->Set("in_downtime", checkable->IsInDowntime()); if (checkable->GetCheckTimeout().IsEmpty())