fetchLoginConfig method

Future<LoginConfig?> fetchLoginConfig(
  1. dynamic pfId,
  2. dynamic customerId
)

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;
  }
}