import 'dart:convert'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import '../../constant/links.dart'; import '../../main.dart'; import 'crud.dart'; class SecureStorage { final FlutterSecureStorage _storage = const FlutterSecureStorage(); void saveData(String key, value) async { await _storage.write(key: key, value: value); } Future readData(String boxName) async { final String? value = await _storage.read(key: boxName); return value; } } const List keysToFetch = [ 'serverPHP', 'seferAlexandriaServer', 'seferPaymentServer', 'seferCairoServer', 'seferGizaServer', ]; class AppInitializer { // final FlutterSecureStorage _storage = const FlutterSecureStorage(); Future initializeApp() async { // Check if app is running for the first time // Loop through the keys and fetch their values for (String key in keysToFetch) { try { String? value = await getKey(key); // Fetch from server if (value != null) { await box.write(key, value); // Save securely } } catch (e) {} } } Future getKey(String key) async { var res = await CRUD().get(link: AppLink.getapiKey, payload: {"keyName": key}); if (res != 'failure') { try { var data = jsonDecode(res)['message']; return data[key]?.toString(); } catch (e) {} } return null; } }