Changeset

10220:1e2b444acb72

mod_storage_*: Tweak :summary API to allow future expansion with more fields Eg might want to include last message, timestamp, chat state or other info.
author Kim Alvefur <zash@zash.se>
date Fri, 23 Aug 2019 01:04:00 +0200
parents 10219:d58925bb74ca
children 10221:068692cb9e78
files plugins/mod_storage_internal.lua plugins/mod_storage_memory.lua plugins/mod_storage_sql.lua
diffstat 3 files changed, 15 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/mod_storage_internal.lua	Thu Aug 22 01:00:31 2019 +0200
+++ b/plugins/mod_storage_internal.lua	Fri Aug 23 01:04:00 2019 +0200
@@ -217,11 +217,13 @@
 function archive:summary(username, query)
 	local iter, err = self:find(username, query)
 	if not iter then return iter, err; end
-	local summary = {};
+	local counts = {};
 	for _, _, _, with in iter do
-		summary[with] = (summary[with] or 0) + 1;
+		counts[with] = (counts[with] or 0) + 1;
 	end
-	return summary;
+	return {
+		counts = counts;
+	};
 end
 
 function archive:users()
--- a/plugins/mod_storage_memory.lua	Thu Aug 22 01:00:31 2019 +0200
+++ b/plugins/mod_storage_memory.lua	Fri Aug 23 01:04:00 2019 +0200
@@ -170,11 +170,13 @@
 function archive_store:summary(username, query)
 	local iter, err = self:find(username, query)
 	if not iter then return iter, err; end
-	local summary = {};
+	local counts = {};
 	for _, _, _, with in iter do
-		summary[with] = (summary[with] or 0) + 1;
+		counts[with] = (counts[with] or 0) + 1;
 	end
-	return summary;
+	return {
+		counts = counts;
+	};
 end
 
 
--- a/plugins/mod_storage_sql.lua	Thu Aug 22 01:00:31 2019 +0200
+++ b/plugins/mod_storage_sql.lua	Fri Aug 23 01:04:00 2019 +0200
@@ -446,12 +446,14 @@
 		return engine:select(sql_query, unpack(args));
 	end);
 	if not ok then return ok, result end
-	local summary = {};
+	local counts = {};
 	for row in result do
 		local with, count = row[1], row[2];
-		summary[with] = count;
+		counts[with] = count;
 	end
-	return summary;
+	return {
+		counts = counts;
+	};
 end
 
 function archive_store:delete(username, query)