HydroNutrify_Ari_e41221567/lib/logic/controllers/home_controller.dart

40 lines
1.4 KiB
Dart

import 'package:mobile_monitoring/data/models/service_result.dart';
import 'package:mobile_monitoring/data/services/hidroponik_data_service.dart';
import 'package:mobile_monitoring/data/services/home_service.dart';
import 'package:mobile_monitoring/logic/controllers/base_controller.dart';
class HomeController extends BaseController {
HomeController({
HomeService? homeService,
HidroponikDataService? hidroponikDataService,
}) : _homeService = homeService ?? HomeService(),
_hidroponikDataService = hidroponikDataService ?? HidroponikDataService();
final HomeService _homeService;
final HidroponikDataService _hidroponikDataService;
int _selectedIndex = 1;
int get selectedIndex => _selectedIndex;
String get userDisplayName => _homeService.getUserDisplayName();
String get userInitials => _homeService.getUserInitials(userDisplayName);
String? get currentUserId => _homeService.getCurrentUserIdResult().data;
void setSelectedIndex(int index) {
_selectedIndex = index;
notifyListeners();
}
ServiceResult<MonitoringData> parseMonitoringData(Map<String, dynamic> data) {
return _homeService.parseMonitoringDataResult(data);
}
ServiceResult<HomeDataError> mapError(Object error) {
return _homeService.getErrorInfoResult(error);
}
Stream<Map<String, dynamic>?> latestDataStream(String? userId) {
return _hidroponikDataService.latestDataStream(userId: userId);
}
}