29 lines
953 B
Dart
29 lines
953 B
Dart
import 'package:isar/isar.dart';
|
|
import 'package:mangayomi/main.dart';
|
|
import 'package:mangayomi/models/chapter.dart';
|
|
import 'package:mangayomi/models/update.dart';
|
|
import 'package:mangayomi/models/history.dart';
|
|
import 'package:mangayomi/models/manga.dart';
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
part 'isar_providers.g.dart';
|
|
|
|
@riverpod
|
|
Stream<List<History>> getAllHistoryStream(Ref ref, {required bool isManga}) async* {
|
|
yield* isar.historys
|
|
.filter()
|
|
.idIsNotNull()
|
|
.and()
|
|
.chapter((q) => q.manga((q) => q.isMangaEqualTo(isManga)))
|
|
.watch(fireImmediately: true);
|
|
}
|
|
|
|
@riverpod
|
|
Stream<List<Update>> getAllUpdateStream(Ref ref, {required bool isManga}) async* {
|
|
yield* isar.updates
|
|
.filter()
|
|
.idIsNotNull()
|
|
.and()
|
|
.chapter((q) => q.manga((q) => q.isMangaEqualTo(isManga)))
|
|
.watch(fireImmediately: true);
|
|
}
|