equal
deleted
inserted
replaced
200 return info; |
200 return info; |
201 end |
201 end |
202 |
202 |
203 local function get_user_omemo_info(username) |
203 local function get_user_omemo_info(username) |
204 local everything_valid = true; |
204 local everything_valid = true; |
|
205 local any_device = false; |
205 local omemo_status = {}; |
206 local omemo_status = {}; |
206 local omemo_devices; |
207 local omemo_devices; |
207 local pep_service = mod_pep.get_pep_service(username); |
208 local pep_service = mod_pep.get_pep_service(username); |
208 if pep_service and pep_service.nodes then |
209 if pep_service and pep_service.nodes then |
209 local ok, _, device_list = pep_service:get_last_item("eu.siacs.conversations.axolotl.devicelist", true); |
210 local ok, _, device_list = pep_service:get_last_item("eu.siacs.conversations.axolotl.devicelist", true); |
211 device_list = device_list:get_child("list", "eu.siacs.conversations.axolotl"); |
212 device_list = device_list:get_child("list", "eu.siacs.conversations.axolotl"); |
212 end |
213 end |
213 if device_list then |
214 if device_list then |
214 omemo_devices = {}; |
215 omemo_devices = {}; |
215 for device_entry in device_list:childtags("device") do |
216 for device_entry in device_list:childtags("device") do |
|
217 any_device = true; |
216 local device_info = {}; |
218 local device_info = {}; |
217 local device_id = tonumber(device_entry.attr.id or ""); |
219 local device_id = tonumber(device_entry.attr.id or ""); |
218 if device_id then |
220 if device_id then |
219 device_info.id = device_id; |
221 device_info.id = device_id; |
220 local bundle_id = ("eu.siacs.conversations.axolotl.bundles:%d"):format(device_id); |
222 local bundle_id = ("eu.siacs.conversations.axolotl.bundles:%d"):format(device_id); |
254 omemo_status.config_valid = false; |
256 omemo_status.config_valid = false; |
255 everything_valid = false; |
257 everything_valid = false; |
256 end |
258 end |
257 end |
259 end |
258 end |
260 end |
259 omemo_status.valid = everything_valid; |
261 omemo_status.valid = everything_valid and any_device; |
260 return { |
262 return { |
261 status = omemo_status; |
263 status = omemo_status; |
262 devices = omemo_devices; |
264 devices = omemo_devices; |
263 }; |
265 }; |
264 end |
266 end |