Software /
code /
prosody
Comparison
plugins/mod_storage_internal.lua @ 10221:068692cb9e78
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.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 23 Aug 2019 01:10:27 +0200 |
parent | 10220:1e2b444acb72 |
child | 10222:51f145094648 |
comparison
equal
deleted
inserted
replaced
10220:1e2b444acb72 | 10221:068692cb9e78 |
---|---|
216 | 216 |
217 function archive:summary(username, query) | 217 function archive:summary(username, query) |
218 local iter, err = self:find(username, query) | 218 local iter, err = self:find(username, query) |
219 if not iter then return iter, err; end | 219 if not iter then return iter, err; end |
220 local counts = {}; | 220 local counts = {}; |
221 for _, _, _, with in iter do | 221 local latest = {}; |
222 for _, _, when, with in iter do | |
222 counts[with] = (counts[with] or 0) + 1; | 223 counts[with] = (counts[with] or 0) + 1; |
224 latest[with] = when; | |
223 end | 225 end |
224 return { | 226 return { |
225 counts = counts; | 227 counts = counts; |
228 latest = latest; | |
226 }; | 229 }; |
227 end | 230 end |
228 | 231 |
229 function archive:users() | 232 function archive:users() |
230 return datamanager.users(host, self.store, "list"); | 233 return datamanager.users(host, self.store, "list"); |