diff options
author | Kim Alvefur <zash@zash.se> | 2019-08-23 01:10:27 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-08-23 01:10:27 +0200 |
commit | 5a382ce091fd1edf8d29d4531ec7a6bd957fc4e5 (patch) | |
tree | c7d69620635566a6e390e6cf44ba5628b1aab734 /plugins/mod_storage_internal.lua | |
parent | 24670cf607bf3eed29ca79dd4e6b7397773db91b (diff) | |
download | prosody-5a382ce091fd1edf8d29d4531ec7a6bd957fc4e5.tar.gz prosody-5a382ce091fd1edf8d29d4531ec7a6bd957fc4e5.zip |
mod_storage_*: Include timestamp of latest message in :summary API
Clients may want to show a list of conversations ordered by how
timestamp of most recent message.
The counts allow a badge with unread message counter.
Diffstat (limited to 'plugins/mod_storage_internal.lua')
-rw-r--r-- | plugins/mod_storage_internal.lua | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/mod_storage_internal.lua b/plugins/mod_storage_internal.lua index 28caa071..1ee860d6 100644 --- a/plugins/mod_storage_internal.lua +++ b/plugins/mod_storage_internal.lua @@ -218,11 +218,14 @@ function archive:summary(username, query) local iter, err = self:find(username, query) if not iter then return iter, err; end local counts = {}; - for _, _, _, with in iter do + local latest = {}; + for _, _, when, with in iter do counts[with] = (counts[with] or 0) + 1; + latest[with] = when; end return { counts = counts; + latest = latest; }; end |