import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:timetrack/features/entries/data/drift_entries_repository.dart'; import 'package:timetrack/features/entries/data/entries_repository.dart'; import 'package:timetrack/features/entries/domain/time_entry.dart'; part 'entries_provider.g.dart'; @riverpod Stream> entriesByDateRange( EntriesByDateRangeRef ref, { required DateTime rangeFrom, required DateTime rangeTo, }) => ref.watch(timeEntriesRepositoryProvider).watchByDateRange(rangeFrom, rangeTo); @riverpod Stream> allEntries(AllEntriesRef ref) => ref.watch(timeEntriesRepositoryProvider).watchAll(); @riverpod class EntriesNotifier extends _$EntriesNotifier { @override Future build() async {} TimeEntriesRepository get _repo => ref.read(timeEntriesRepositoryProvider); Future create(TimeEntry entry) => _repo.create(entry); Future updateEntry(TimeEntry entry) => _repo.update(entry); Future delete(int id) => _repo.delete(id); }