26 lines
738 B
Dart
26 lines
738 B
Dart
import 'package:drift/drift.dart';
|
|
import 'package:lensai/features/content_block/data/database/database.dart';
|
|
import 'package:lensai/features/content_block/data/models/host.dart';
|
|
|
|
part 'host.g.dart';
|
|
|
|
@DriftAccessor()
|
|
class HostDao extends DatabaseAccessor<HostDatabase> with _$HostDaoMixin {
|
|
HostDao(super.db);
|
|
|
|
Selectable<HostData> getHostList({Iterable<HostSource>? sources}) {
|
|
final selectable = select(db.host);
|
|
if (sources != null) {
|
|
selectable.where((t) => t.source.isInValues(sources));
|
|
}
|
|
|
|
return selectable;
|
|
}
|
|
|
|
SingleSelectable<int> getHostCount({Iterable<HostSource>? sources}) {
|
|
return db.host.count(
|
|
where: (sources != null) ? (t) => t.source.isInValues(sources) : null,
|
|
);
|
|
}
|
|
}
|