retrieveDeviceBundles method
- JID jid
Retrieve all device bundles for the JID jid
.
On success, returns a list of devices. On failure, returns am OmemoError.
Implementation
Future<Result<OmemoError, List<omemo.OmemoBundle>>> retrieveDeviceBundles(
JID jid,
) async {
// TODO(Unknown): Should we query the device list first?
final pm = getAttributes().getManagerById<PubSubManager>(pubsubManager)!;
final bundlesRaw = await pm.getItems(jid, omemoBundlesXmlns);
if (bundlesRaw.isType<PubSubError>()) return Result(UnknownOmemoError());
final bundles = bundlesRaw
.get<List<PubSubItem>>()
.map(
(bundle) => bundleFromXML(jid, int.parse(bundle.id), bundle.payload),
)
.toList();
return Result(bundles);
}