comparison mod_debug_omemo/mod_debug_omemo.lua @ 4689:ecfffbbcbf42

mod_debug_omemo: Use archive single message retrieval method Likely more efficient, where implemented.
author Kim Alvefur <zash@zash.se>
date Wed, 15 Sep 2021 17:55:58 +0200
parents 41ddb782320c
children
comparison
equal deleted inserted replaced
4688:05725276fac0 4689:ecfffbbcbf42
98 whitelist = "Private"; 98 whitelist = "Private";
99 roster = "Contacts only"; 99 roster = "Contacts only";
100 presence = "Contacts only"; 100 presence = "Contacts only";
101 }; 101 };
102 102
103 local function get_message(username, message_id)
104 if mam.get then
105 return mam:get(username, message_id);
106 end
107 -- COMPAT
108 local message;
109 for _, result in mam:find(username, { key = message_id }) do
110 message = result;
111 end
112 return message;
113 end
114
103 local function render_message(event, path) 115 local function render_message(event, path)
104 local username, message_id = path:match("^([^/]+)/(.+)$"); 116 local username, message_id = path:match("^([^/]+)/(.+)$");
105 if not username then 117 if not username then
106 return 400; 118 return 400;
107 end 119 end
108 local message; 120 local message = get_message(username, message_id);
109 for _, result in mam:find(username, { key = message_id }) do
110 message = result;
111 end
112 if not message then 121 if not message then
113 return 404; 122 return 404;
114 end 123 end
115 124
116 local user_omemo_status = get_user_omemo_info(username); 125 local user_omemo_status = get_user_omemo_info(username);