import 'package:dartz/dartz.dart'; import 'package:injectable/injectable.dart'; import 'package:superport/core/errors/failures.dart'; import 'package:superport/data/datasources/remote/dashboard_remote_datasource.dart'; import 'package:superport/data/models/dashboard/equipment_status_distribution.dart'; import 'package:superport/data/models/dashboard/expiring_license.dart'; import 'package:superport/data/models/dashboard/overview_stats.dart'; import 'package:superport/data/models/dashboard/recent_activity.dart'; abstract class DashboardService { Future> getOverviewStats(); Future>> getRecentActivities(); Future> getEquipmentStatusDistribution(); Future>> getExpiringLicenses({int days = 30}); } @LazySingleton(as: DashboardService) class DashboardServiceImpl implements DashboardService { final DashboardRemoteDataSource _remoteDataSource; DashboardServiceImpl(this._remoteDataSource); @override Future> getOverviewStats() async { return await _remoteDataSource.getOverviewStats(); } @override Future>> getRecentActivities() async { return await _remoteDataSource.getRecentActivities(); } @override Future> getEquipmentStatusDistribution() async { return await _remoteDataSource.getEquipmentStatusDistribution(); } @override Future>> getExpiringLicenses({int days = 30}) async { return await _remoteDataSource.getExpiringLicenses(days: days); } }