diff --git a/src/blackmisc/db/datastoreobjectlist.cpp b/src/blackmisc/db/datastoreobjectlist.cpp index 42eac5540..d3ac892d0 100644 --- a/src/blackmisc/db/datastoreobjectlist.cpp +++ b/src/blackmisc/db/datastoreobjectlist.cpp @@ -142,6 +142,24 @@ namespace BlackMisc return newValues.size() - removeSize; } + template + QDateTime IDatastoreObjectList::oldestDbTimestamp() const + { + CONTAINER objs(this->container()); + objs.removeObjectsWithoutDbKey(); + if (objs.isEmpty()) { return QDateTime(); } + return objs.oldestDbTimestamp(); + } + + template + QDateTime IDatastoreObjectList::latestDbTimestamp() const + { + CONTAINER objs(this->container()); + objs.removeObjectsWithoutDbKey(); + if (objs.isEmpty()) { return QDateTime(); } + return objs.latestTimestamp(); + } + template CONTAINER IDatastoreObjectList::fromDatabaseJson(const QJsonArray &array) { diff --git a/src/blackmisc/db/datastoreobjectlist.h b/src/blackmisc/db/datastoreobjectlist.h index bf1000d44..32604f2da 100644 --- a/src/blackmisc/db/datastoreobjectlist.h +++ b/src/blackmisc/db/datastoreobjectlist.h @@ -50,6 +50,12 @@ namespace BlackMisc //! Update or insert data (based on DB key) int replaceOrAddObjectsByKey(const CONTAINER &container); + //! Latest DB timestamp (means objects with DB key) + QDateTime latestDbTimestamp() const; + + //! Latest DB timestamp (means objects with DB key) + QDateTime oldestDbTimestamp() const; + //! From DB JSON with default prefixes static CONTAINER fromDatabaseJson(const QJsonArray &array);