Создание карточки в коллекции + экран поиска коллекции
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
import 'package:remever/database/database.dart';
|
||||
import 'package:remever/models/collection_dto.dart';
|
||||
import 'package:remever/models/crud_collection_dto.dart';
|
||||
|
||||
///
|
||||
/// Интерфейс взаимодействия с коллекциями
|
||||
///
|
||||
abstract interface class CollectionsInterface {
|
||||
/// Получение списка коллекций
|
||||
Stream<List<Collection>> watchCollectionsList();
|
||||
Stream<List<Collection>> watchCollectionsList({String? search});
|
||||
|
||||
/// Создание новой коллекции
|
||||
Future<void> createCollection(CollectionDto dto);
|
||||
Future<void> updateCollection(CollectionDto dto, String id);
|
||||
Future<void> createCollection(CrudCollectionDto dto);
|
||||
Future<void> updateCollection(CrudCollectionDto dto, String id);
|
||||
Future<void> deleteCollection(String id);
|
||||
|
||||
/// Сделать коллекцию публичной
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:injectable/injectable.dart';
|
||||
import 'package:remever/database/database.dart';
|
||||
import 'package:remever/inject.dart';
|
||||
import 'package:remever/models/collection_dto.dart';
|
||||
import 'package:remever/models/crud_collection_dto.dart';
|
||||
import 'package:remever/services/collection/collections_interface.dart';
|
||||
|
||||
///
|
||||
@@ -11,17 +11,17 @@ import 'package:remever/services/collection/collections_interface.dart';
|
||||
@Singleton(as: CollectionsInterface)
|
||||
final class CollectionsService implements CollectionsInterface {
|
||||
@override
|
||||
Stream<List<Collection>> watchCollectionsList() {
|
||||
return getIt<AppDatabase>().collectionsDao.getCollections();
|
||||
Stream<List<Collection>> watchCollectionsList({String? search}) {
|
||||
return getIt<AppDatabase>().collectionsDao.getCollections(search);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> createCollection(CollectionDto dto) async {
|
||||
Future<void> createCollection(CrudCollectionDto dto) async {
|
||||
return await getIt<AppDatabase>().collectionsDao.createCollection(dto);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> updateCollection(CollectionDto dto, String id) async {
|
||||
Future<void> updateCollection(CrudCollectionDto dto, String id) async {
|
||||
return await getIt<AppDatabase>().collectionsDao.updateCollection(dto, id);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import 'package:remever/database/database.dart';
|
||||
import 'package:remever/models/create_ticket_dto.dart';
|
||||
|
||||
///
|
||||
/// Интерфейс взаимодействия с билетами в коллекция
|
||||
///
|
||||
abstract interface class TicketsInterface {
|
||||
/// Получение списка билетов
|
||||
Stream<List<Collection>> watchTicketsList();
|
||||
Stream<List<Ticket>> watchTicketsList(String collectionId);
|
||||
|
||||
/// Создание нового билета
|
||||
Future<void> createTicket(CreateTicketDto dto);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import 'package:injectable/injectable.dart';
|
||||
import 'package:remever/database/database.dart';
|
||||
import 'package:remever/inject.dart';
|
||||
import 'package:remever/models/create_ticket_dto.dart';
|
||||
import 'package:remever/services/tickets/tickets_interface.dart';
|
||||
|
||||
///
|
||||
@@ -9,7 +11,12 @@ import 'package:remever/services/tickets/tickets_interface.dart';
|
||||
@Singleton(as: TicketsInterface)
|
||||
final class TicketsService implements TicketsInterface {
|
||||
@override
|
||||
Stream<List<Collection>> watchTicketsList() {
|
||||
return Stream.empty();
|
||||
Stream<List<Ticket>> watchTicketsList(String collectionId) {
|
||||
return getIt<AppDatabase>().ticketsDao.getTickets(collectionId);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> createTicket(CreateTicketDto dto) async {
|
||||
return await getIt<AppDatabase>().ticketsDao.createTicket(dto);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user