rd-android-app/lib/controller/home_controller.dart
2024-09-20 15:50:11 +05:30

111 lines
3.1 KiB
Dart

import 'package:cheminova/controller/home_service.dart';
import 'package:cheminova/models/user_model.dart';
import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart';
class HomeController extends GetxController {
final HomeService homeService = HomeService();
UserModel? user;
// var userModel = UserModel(
// id: '',
// uniqueId: '',
// name: '',
// email: '',
// phone: '',
// role: '',
// sbu: '',
// createdAt: '',
// updatedAt: '',
// ).obs; // Observable for UserModel
@override
void onInit() {
getUser();
super.onInit();
}
Future<void> getUser() async {
try {
print("Starting getUser function in controller");
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('token');
print("Token from SharedPreferences: $token");
HomeService homeService = HomeService();
print("Calling homeService.getUser");
user = await homeService.getUser(token: token);
print("homeService.getUser completed. User: $user");
update();
if (user != null) {
print("User fetched successfully: $user");
} else {
print('Failed to fetch user data');
}
} catch (e) {
print("Error in getUser controller function: ${e.toString()}");
}
}
}
// import 'package:cheminova/controller/home_service.dart';
// import 'package:cheminova/models/user_model.dart';
// import 'package:get/get.dart';
// import 'package:shared_preferences/shared_preferences.dart';
//
// import '../notification_service.dart';
//
// class HomeController extends GetxController {
// final HomeService homeService = HomeService();
// NotificationServices notificationServices = NotificationServices();
//
//
//
// var userModel = UserModel(id: '', uniqueId: '', name: '', email: '', phone: '', role: '', sbu: '', createdAt: '', updatedAt: ''
//
// ).obs; // Observable for UserModel
//
// @override
// void onInit() {
// getUser();
// super.onInit();
// notificationServices.requestNotificationPermission();
// notificationServices.getDeviceToken().then((value) {
// print('Device Token: $value');
// fcmToken();
// });
// }
//
// Future<void> fcmToken() async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
// String? token = prefs.getString('token');
// final fcmToken = await NotificationServices().getDeviceToken();
// print('fcmToken: $fcmToken');
// homeService.fcmToken({"fcmToken": fcmToken}, token!);
// }
//
// Future<void> getUser() async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
//
// String? token = prefs.getString('token');
//
// userModel = (await homeService.getUser(token: token)) as dynamic;
//
//
// // if (userModel != null) {
// // if (userModel != null) {ddddd
// // userModel.value = userResponse as UserModel; // Update the userModel with API response
// // update(); // Notify GetX to rebuild widgets using GetBuilder/Obx
// // }
// }
// }
//