fetchLoginConfig method
Implementation
Future<LoginConfig?> fetchLoginConfig(dynamic pfId, dynamic customerId) async {
try {
_pfId = pfId;
_customerId = customerId;
final prefs = await SharedPreferences.getInstance();
String lang = prefs.getString('language_code') ?? 'en';
final url = '$_base/universal/public/api/v2/pc/identity/ask';
final payload = {
'customer_id': _customerId,
'preference_form_id': _pfId,
'language_code': lang,
};
dev.log('fetchLoginConfig: $url');
final result = await _encryptedPost(url, payload);
dev.log('fetchLoginConfig: ${result.statusCode} ${result.body}');
if (result.statusCode != 200) {
throw Exception('Config API ${result.statusCode}');
}
if (result.body == null) return null;
return LoginConfig.fromJson(result.body!);
} on SocketException {
rethrow; // handled in UI
} catch (e) {
dev.log('fetchLoginConfig error: $e');
return null;
}
}