Diff

plugins/mod_storage_sql.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
line wrap: on
line diff
--- a/plugins/mod_storage_sql.lua	Fri Aug 23 01:04:00 2019 +0200
+++ b/plugins/mod_storage_sql.lua	Fri Aug 23 01:10:27 2019 +0200
@@ -424,7 +424,7 @@
 	local user,store = username,self.store;
 	local ok, result = engine:transaction(function()
 		local sql_query = [[
-		SELECT DISTINCT "with", COUNT(*)
+		SELECT DISTINCT "with", COUNT(*), MAX("when")
 		FROM "prosodyarchive"
 		WHERE %s
 		GROUP BY "with"
@@ -447,12 +447,15 @@
 	end);
 	if not ok then return ok, result end
 	local counts = {};
+	local latest = {};
 	for row in result do
 		local with, count = row[1], row[2];
 		counts[with] = count;
+		latest[with] = row[3];
 	end
 	return {
 		counts = counts;
+		latest = latest;
 	};
 end