From 48255f0d723f316ee8a446ee731a7cc75f142938 Mon Sep 17 00:00:00 2001 From: Vaibhav Surve Date: Sat, 3 May 2025 11:21:25 +0530 Subject: [PATCH] handelled permission controller --- lib/controller/permission_controller.dart | 51 +++-------------------- 1 file changed, 6 insertions(+), 45 deletions(-) diff --git a/lib/controller/permission_controller.dart b/lib/controller/permission_controller.dart index d0eef19..590543a 100644 --- a/lib/controller/permission_controller.dart +++ b/lib/controller/permission_controller.dart @@ -12,51 +12,12 @@ class PermissionController extends GetxController { Timer? _refreshTimer; @override - void onInit() { - super.onInit(); - _loadStoredData(); // Load both permissions and employee info - _startAutoRefresh(); // Schedule auto-refresh every 30 minutes - } - - // Load permissions and employee info from SharedPreferences - Future _loadStoredData() async { - final prefs = await SharedPreferences.getInstance(); - - // Load stored permissions - final storedPermissionsJson = prefs.getString('user_permissions'); - if (storedPermissionsJson != null) { - print("Loaded Permissions from SharedPreferences: $storedPermissionsJson"); - try { - final List parsedList = jsonDecode(storedPermissionsJson); - permissions.assignAll( - parsedList - .map((e) => UserPermission.fromJson(e as Map)) - .toList(), - ); - } catch (e) { - print("Error decoding stored permissions: $e"); - await prefs.remove('user_permissions'); - } - } - - // Load stored employee info - final storedEmployeeInfoJson = prefs.getString('employee_info'); - if (storedEmployeeInfoJson != null) { - print("Loaded Employee Info from SharedPreferences: $storedEmployeeInfoJson"); - try { - final decodedEmployeeInfo = jsonDecode(storedEmployeeInfoJson); - employeeInfo.value = EmployeeInfo.fromJson(decodedEmployeeInfo); - } catch (e) { - print("Error decoding stored employee info: $e"); - await prefs.remove('employee_info'); - } - } - - // If permissions or employee info are missing, fallback to API - if (storedPermissionsJson == null || storedEmployeeInfoJson == null) { - await _loadDataFromAPI(); - } - } +@override +void onInit() { + super.onInit(); + _loadDataFromAPI(); // Always fetch from API at start + _startAutoRefresh(); // Schedule auto-refresh +} // Save permissions and employee info to SharedPreferences Future _storeData() async {