Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
mainmenu_repository_impl.dart
Go to the documentation of this file.
1import 'dart:math';
2
3import '/core/errors/failures.dart';
4import '/core/services/service_locator.dart';
5import '/features/main_menu/data/data_sources/main_menu_remote_datesource.dart';
6import '/features/main_menu/data/models/banner_model.dart';
7import '/features/main_menu/domain/entities/banner_entity.dart';
8import '/features/main_menu/domain/repository/main_meenu_repository.dart';
9import 'package:dartz/dartz.dart';
10
11import '../../../../core/errors/exception_failure_adapter.dart';
12
13class MainMenuRepositoryImpl extends MainMenuRepository {
15
16 @override
17 Future<Either<Failure, List<BannerEntity>>> loadBanners() async {
18 try {
19 final results = await _remoteDataSource.getBanners();
20 final imageList = results['image'] as List<dynamic>;
21 final banners = imageList
22 .map((item) => BannerModel.fromJson(item as Map<String, dynamic>))
23 .toList();
24 return right(banners);
25 } catch (e) {
26 return left(ExceptionFailureAdapter.adapt(e));
27 }
28 }
29}
class BannerSliderView extends StatefulWidget banners
static Failure adapt(dynamic exception)
override Future< Either< Failure, List< BannerEntity > > > loadBanners() async
final sl