getConfig method

Future<Map<String, dynamic>?> getConfig(
  1. String domainPbx
)

Implementation

Future<Map<String, dynamic>?> getConfig(String domainPbx) async {
  try {
    var headers = {'Content-Type': 'application/json'};

    final response = await http.post(
      Uri.parse('$_baseUrl/config/get/$domainPbx'),
      headers: headers,
      body: json.encode({}),
    );

    if ((response.statusCode ~/ 100) > 2) {
      print('❌ Config Error: ${response.reasonPhrase}');
      throw LiveTalkError(message: {"message": response.reasonPhrase});
    }

    if (response.statusCode == 200) {
      final data = response.body;

      final jsonData = json.decode(data);
      if (jsonData["status_code"] == -9999) {
        print('❌ Config API Error: ${jsonData["message"]}');
        throw LiveTalkError(message: jsonData);
      }
      final payload = jsonData["payload"];
      final tentantId = payload["tenant_id"];
      final accessToken = payload["token"]["access_token"];
      final refreshToken = payload["token"]["refresh_token"];
      _sdkInfo = {
        "tenant_id": tentantId,
        "access_token": accessToken,
        "refresh_token": refreshToken,
      };
      return _sdkInfo;
    }
    return null;
  } catch (error) {
    print('❌ Exception during getConfig: $error');
    rethrow;
  }
}