# HG changeset patch # User Alain Mazy # Date 1755071858 -7200 # Node ID 9f41a8c94f9c45b74390e717ffdf301f60f25420 # Parent 5d6ce8e26dec9891f3d10c3670ad141c154d7e98 fix audit-logs API diff -r 5d6ce8e26dec -r 9f41a8c94f9c Framework/Plugins/DatabaseBackendAdapterV4.cpp --- a/Framework/Plugins/DatabaseBackendAdapterV4.cpp Tue Aug 12 15:27:09 2025 +0200 +++ b/Framework/Plugins/DatabaseBackendAdapterV4.cpp Wed Aug 13 09:57:38 2025 +0200 @@ -1576,8 +1576,8 @@ uint64_t since = 0; uint64_t limit = 0; - uint64_t fromTs = 0; - uint64_t toTs = 0; + std::string fromTsIsoFormat; + std::string toTsIsoFormat; bool logDataInJson = false; if (getArguments.find("user-id") != getArguments.end()) @@ -1607,12 +1607,12 @@ if (getArguments.find("from-timestamp") != getArguments.end()) { - fromTs = boost::lexical_cast(getArguments["from-timestamp"]); + fromTsIsoFormat = getArguments["from-timestamp"]; } if (getArguments.find("to-timestamp") != getArguments.end()) { - toTs = boost::lexical_cast(getArguments["to-timestamp"]); + toTsIsoFormat = getArguments["to-timestamp"]; } if (getArguments.find("log-data-format") != getArguments.end()) @@ -1644,7 +1644,7 @@ userIdFilter, resourceIdFilter, actionFilter, - fromTs, toTs, + fromTsIsoFormat, toTsIsoFormat, since, limit); for (std::list::const_iterator it = logs.begin(); it != logs.end(); ++it) diff -r 5d6ce8e26dec -r 9f41a8c94f9c Framework/Plugins/IDatabaseBackend.h --- a/Framework/Plugins/IDatabaseBackend.h Tue Aug 12 15:27:09 2025 +0200 +++ b/Framework/Plugins/IDatabaseBackend.h Wed Aug 13 09:57:38 2025 +0200 @@ -550,8 +550,8 @@ const std::string& userIdFilter, const std::string& resourceIdFilter, const std::string& actionFilter, - uint64_t fromTs, - uint64_t toTs, + const std::string& fromTsIsoFormat, + const std::string& toTsIsoFormat, uint64_t since, uint64_t limit) = 0; #endif diff -r 5d6ce8e26dec -r 9f41a8c94f9c Framework/Plugins/IndexBackend.cpp --- a/Framework/Plugins/IndexBackend.cpp Tue Aug 12 15:27:09 2025 +0200 +++ b/Framework/Plugins/IndexBackend.cpp Wed Aug 13 09:57:38 2025 +0200 @@ -4729,8 +4729,8 @@ const std::string& userIdFilter, const std::string& resourceIdFilter, const std::string& actionFilter, - uint64_t fromTs, - uint64_t toTs, + const std::string& fromTsIsoFormat, + const std::string& toTsIsoFormat, uint64_t since, uint64_t limit) { @@ -4754,14 +4754,14 @@ filters.push_back("action = " + formatter.GenerateParameter(actionFilter)); } - if (fromTs > 0) + if (!fromTsIsoFormat.empty()) { - filters.push_back("ts >= " + formatter.GenerateParameter(fromTs)); + filters.push_back("ts >= " + formatter.GenerateParameter(fromTsIsoFormat) + "::TIMESTAMPTZ"); } - if (toTs > 0) + if (!toTsIsoFormat.empty()) { - filters.push_back("ts < " + formatter.GenerateParameter(toTs)); + filters.push_back("ts < " + formatter.GenerateParameter(toTsIsoFormat) + "::TIMESTAMPTZ"); } if (filters.size() > 0) @@ -4771,13 +4771,13 @@ sql += " WHERE " + joinedFilters; } + sql += " ORDER BY ts ASC "; + if (since > 0 || limit > 0) { sql += formatter.FormatLimits(since, limit); } - sql += " ORDER BY ts ASC"; - DatabaseManager::CachedStatement statement(STATEMENT_FROM_HERE_DYNAMIC(sql), manager, sql); statement.SetReadOnly(true); diff -r 5d6ce8e26dec -r 9f41a8c94f9c Framework/Plugins/IndexBackend.h --- a/Framework/Plugins/IndexBackend.h Tue Aug 12 15:27:09 2025 +0200 +++ b/Framework/Plugins/IndexBackend.h Wed Aug 13 09:57:38 2025 +0200 @@ -536,8 +536,8 @@ const std::string& userIdFilter, const std::string& resourceIdFilter, const std::string& actionFilter, - uint64_t fromTs, - uint64_t toTs, + const std::string& fromTsIsoFormat, + const std::string& toTsIsoFormat, uint64_t since, uint64_t limit) ORTHANC_OVERRIDE; #endif