searchMetadatas method
Search by name, nip05
Implementation
@override
Future<Iterable<Metadata>> searchMetadatas(String search, int limit) async {
await dbRdy;
final metadataBox = _objectBox.store.box<DbMetadata>();
// Create a query with OR condition
final query = metadataBox
.query(DbMetadata_.splitNameWords
.containsElement(search, caseSensitive: false)
.or(DbMetadata_.name
.startsWith(search, caseSensitive: false)
.or(DbMetadata_.splitDisplayNameWords
.containsElement(search, caseSensitive: false))
.or(DbMetadata_.displayName
.startsWith(search, caseSensitive: false))
.or(DbMetadata_.nip05
.startsWith(search, caseSensitive: false))))
.order(DbMetadata_.name, flags: Order.descending)
.build();
query..limit = limit;
final results = query.find();
return results.map((dbMetadata) => dbMetadata.toNdk()).take(limit);
}