saveMetadata method
Future<void>
saveMetadata(
- Metadata metadata
)
override
Implementation
@override
Future<void> saveMetadata(Metadata metadata) async {
await dbRdy;
final metadataBox = _objectBox.store.box<DbMetadata>();
final existingMetadatas = metadataBox
.query(DbMetadata_.pubKey.equals(metadata.pubKey))
.order(DbMetadata_.updatedAt, flags: Order.descending)
.build()
.find();
if (existingMetadatas.length > 1) {
metadataBox.removeMany(existingMetadatas.map((e) => e.dbId).toList());
}
if (existingMetadatas.isNotEmpty &&
metadata.updatedAt! < existingMetadatas[0].updatedAt!) {
return;
}
metadataBox.put(DbMetadata.fromNdk(metadata));
}