import 'package:dio/dio.dart'; import 'package:injectable/injectable.dart'; import 'package:remever/common/services/api_client.dart'; import 'package:remever/database/database.dart'; import 'package:remever/inject.dart'; import 'package:remever/models/crud_collection_dto.dart'; import 'package:remever/services/collection/collections_interface.dart'; /// /// Сервис авторизации /// @Singleton(as: CollectionsInterface) final class CollectionsService implements CollectionsInterface { @override Stream> watchCollectionsList({String? search}) { return getIt().collectionsDao.getCollections(search); } @override Future createCollection(CrudCollectionDto dto) async { return await getIt().collectionsDao.createCollection(dto); } @override Future updateCollection(CrudCollectionDto dto, String id) async { return await getIt().collectionsDao.updateCollection(dto, id); } @override Future deleteCollection(String id) async { return await getIt().collectionsDao.deleteCollection(id); } @override Future makeCollectionPublic(String id, bool isPublic) { // TODO: implement makeCollectionPublic throw UnimplementedError(); } @override Future getCollectionsFromApi() async { try { final Response response = await apiClient.get( '/collections', queryParameters: {'perPage': 20, 'page': 1}, ); print('data'); } catch (e) { print('Response error $e'); } } @override Future createCollectionApi() async { try { final Response response = await apiClient.post( '/collections', data: { "title": "Основы программирования для утюгов", "description": "Коллекция карточек по основам программирования для начинающих", "is_public": true, }, ); print('data'); } catch (e) { print('Response error $e'); } } }