Untitled
unknown
plain_text
5 months ago
3.3 kB
3
Indexable
import 'package:dartz/dartz.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import '../../../../core/errors/exceptions.dart'; import '../../../../core/errors/failure.dart'; import '../../../../core/utils/typedef.dart'; // import '../../domain/entities/charger_station.dart'; import '../../domain/entities/charger_station.dart'; import '../../domain/entities/filter.dart'; import '../../domain/repositories/find_repository.dart'; import '../datasources/find_remote_data_source.dart'; import '../models/charger_station_model.dart'; import '../models/filter_model.dart'; class FindRepositoryImpl implements FindRepository { const FindRepositoryImpl(this._remoteDataSource); final FindRemoteDataSource _remoteDataSource; @override ResultFuture<List<ChargeStation>> getChargeStations() async { try { final result = await _remoteDataSource.getChargeStations(); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } @override ResultVoid openMapsNavigation(List<double> coordinates) async { try { final result = await _remoteDataSource.openMapsNavigation(coordinates); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } @override ResultFuture<Set<Marker>> loadMarkers( List<ChargeStation> chargerStations) async { try { final chargerStationsModel = chargerStations .map((e) => ChargerStationModel.fromEntity(e)) .toList(); final result = await _remoteDataSource.loadMarkers(chargerStationsModel); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } @override ResultFuture<List<ChargeStation>> loadFilteredChargeStations( Filter filter) async { try { final filterModel = FilterModel.fromEntity(filter); final result = await _remoteDataSource.loadFilteredChargeStations(filterModel); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } @override ResultFuture<List<ChargeStation>> getFavoriteChargeStations( String userId) async { try { final result = await _remoteDataSource.getFavoriteChargeStations(userId); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } @override ResultFuture<String> addFavoriteChargeStations( String favoriteChargerStationId) async { try { final result = await _remoteDataSource .addFavoriteChargeStations(favoriteChargerStationId); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } @override ResultFuture<String> deleteFavoriteChargeStations( String favoriteChargerStationId) async { try { final result = await _remoteDataSource .deleteFavoriteChargeStations(favoriteChargerStationId); return Right(result); } on ServerException catch (e) { return Left(ServerFailure.fromException(e)); } } }
Editor is loading...
Leave a Comment