import 'dart:io'; import 'package:path_provider/path_provider.dart'; import 'package:isar/isar.dart'; import '../../../models/recipe.dart'; class DbHelper { static late Directory _dir; static Isar get _isar => Isar.open( schemas: _schemas, directory: _dir.path, ); static const List _schemas = [ RecipeSchema, ]; static int get nextRecipeId => _isar.recipes.autoIncrement(); static Future init() async { _dir = await getApplicationDocumentsDirectory(); } static List fetchRecipes() { return _isar.recipes.where().findAll().cast().toList(); } static void putRecipe(Recipe recipe) { _isar.write((isar) => isar.recipes.put(recipe)); } static bool deleteRecipe(Recipe recipe) { return _isar.write((isar) => isar.recipes.delete(recipe.id)); } }