Implementation
refresh() async {
if (!_needsRefresh) {
return;
}
final ok = await MotorFlutterPlatform.instance.resolveBucket(did);
if (!ok) {
throw Exception('Failed to resolve bucket');
}
final contentList = await MotorFlutterPlatform.instance.getBucketObjects(did);
final items = contentList.buckets.map((e) => BucketItem.fromBuffer(e.item)).toList();
var docs = <SchemaDocument>[];
for (var item in items) {
final doc = await item.getSchemaDocument();
if (doc != null) {
docs.add(doc);
}
}
_cachedDocs.clear();
_cachedDocs.addAll(docs);
_lastUpdated = DateTime.now();
}