toggleFavorite method

  1. @override
Future<Either<String, void>> toggleFavorite(
  1. String id
)
override

Toggle favorite status

Implementation

@override
Future<Either<String, void>> toggleFavorite(String id) async {
  try {
    await isar.writeTxn(() async {
      final model = await isar.componentModels
          .filter()
          .componentIdEqualTo(id)
          .findFirst();
      if (model != null) {
        model.isFavorite = !model.isFavorite;
        model.updatedAt = DateTime.now();
        await isar.componentModels.put(model);
      }
    });
    return const Right(null);
  } catch (e) {
    return Left('Failed to toggle favorite: $e');
  }
}