Создание карточки в коллекции + экран поиска коллекции

This commit is contained in:
2025-04-02 21:40:31 +03:00
parent fb7ff84087
commit 17dff72655
36 changed files with 2495 additions and 277 deletions

View File

@@ -3,7 +3,7 @@ import 'package:drift/drift.dart';
import 'package:remever/common/functions.dart';
import 'package:remever/database/database.dart';
import 'package:remever/database/tables.dart';
import 'package:remever/models/collection_dto.dart';
import 'package:remever/models/crud_collection_dto.dart';
part 'collections_dao.g.dart';
@@ -16,9 +16,11 @@ class CollectionsDao extends DatabaseAccessor<AppDatabase>
CollectionsDao(super.attachedDatabase);
/// Получение коллекций из базы данных
Stream<List<Collection>> getCollections() {
Stream<List<Collection>> getCollections(String? search) {
try {
return db.managers.collections.watch();
return db.managers.collections
.filter((f) => f.title.contains(search ?? ''))
.watch();
} catch (e, st) {
logger.logError('Ошибка в методе getCollections', e, st);
@@ -27,7 +29,7 @@ class CollectionsDao extends DatabaseAccessor<AppDatabase>
}
/// Создание коллекции
Future<void> createCollection(CollectionDto dto) async {
Future<void> createCollection(CrudCollectionDto dto) async {
try {
await db.managers.collections.create(
(o) => o(
@@ -43,7 +45,7 @@ class CollectionsDao extends DatabaseAccessor<AppDatabase>
}
/// Обновление коллекции
Future<void> updateCollection(CollectionDto dto, String id) async {
Future<void> updateCollection(CrudCollectionDto dto, String id) async {
try {
await db.managers.collections
.filter((f) => f.id(id))