search method

  1. @override
Future<Either<String, List<ComponentTemplate>>> search(
  1. String query, {
  2. int offset = 0,
  3. int limit = 20,
})
override

Search components by name (paginated)

Implementation

@override
Future<Either<String, List<ComponentTemplate>>> search(String query,
    {int offset = 0, int limit = 20}) async {
  try {
    final models = await isar.componentModels
        .filter()
        .nameContains(query, caseSensitive: false)
        .or()
        .manufacturerContains(query, caseSensitive: false)
        .offset(offset)
        .limit(limit)
        .findAll();
    return Right(models.map((m) => m.toDomain()).toList());
  } catch (e) {
    return Left('Failed to search components: $e');
  }
}