loadConfig function
Implementation
Future<String> loadConfig() async {
final storage = storageLocator<FlutterSecureStorage>();
String jwtToken = '';
Map<String, dynamic> configItems = {};
return storage.read(key: 'jwt').then((jwtTokenValue) {
return storage.read(key: 'configItems').then((configItemsValue) {
return storage.read(key: 'api_key').then((apiKeyValue) {
if (debugJwtToken) {
logDebug('http_service | loadConfig | jwtTokenValue: $jwtTokenValue');
logDebug(
'http_service | loadConfig | configItemsValue: $configItemsValue',
);
}
String userId = "";
if (jwtTokenValue != null) {
jwtToken = jwtTokenValue;
Map<String, dynamic> payload = getJwtPayload(jwtToken);
if (debugJwtToken) {
logDebug('http_service | loadConfig | payload: $payload');
}
if (payload.isNotEmpty) {
userId = payload["public_id"];
}
}
if (configItemsValue != null) {
configItems = json.decode(configItemsValue);
}
String result = json.encode({
'userId': userId,
'jwtToken': jwtToken,
'apiKey': apiKeyValue,
'configItems': configItems,
});
if (debugConfigValues) {
logDebug('http_service | loadConfig | result: $result');
}
return result;
});
});
});
}