import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../domain/mission/drone_profile.dart'; import '../../services/database/app_database.dart' hide DroneProfile; import '../../services/database/app_settings_repository.dart'; import '../../services/database/drone_profile_repository.dart'; import '../../services/database/mission_repository.dart'; /// App-lebenslange Drift-Datenbankinstanz (Doku 4.15). final appDatabaseProvider = Provider((ref) { final db = AppDatabase(); ref.onDispose(db.close); return db; }); final missionRepositoryProvider = Provider( (ref) => MissionRepository(ref.watch(appDatabaseProvider)), ); final droneProfileRepositoryProvider = Provider( (ref) => DroneProfileRepository(ref.watch(appDatabaseProvider)), ); final appSettingsRepositoryProvider = Provider( (ref) => AppSettingsRepository(ref.watch(appDatabaseProvider)), ); /// Reaktive Missionsliste fuers Verwaltungsmenue (Doku 3.6/7.1). final missionSummariesProvider = StreamProvider( (ref) => ref.watch(missionRepositoryProvider).watchSummaries(), ); /// Reaktive Drohnenprofil-Liste fuers Verwaltungsmenue (Doku 3.5/7.3). final droneProfilesProvider = StreamProvider>( (ref) => ref.watch(droneProfileRepositoryProvider).watchAll(), );