getConfig method

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

Implementation

Future<Map<String, dynamic>?> getConfig(String domainPbx) async {
  try {
    final response = await http.post(
      Uri.parse('$_base${LiveTalkEndpoints.config}/$domainPbx'),
      headers: {'Content-Type': 'application/json'},
      body: json.encode({}),
    );

    if (response.statusCode != 200) {
      throw _httpError(response.statusCode, response.reasonPhrase);
    }

    final jsonData = json.decode(response.body) as Map<String, dynamic>;
    if (jsonData['status_code'] == -9999) throw _apiBodyError(jsonData);

    final payload = jsonData['payload'] as Map<String, dynamic>;
    final token   = payload['token']    as Map<String, dynamic>;
    _sdkInfo = {
      'tenant_id':     payload['tenant_id']     as String,
      'access_token':  token['access_token']    as String,
      'refresh_token': token['refresh_token']   as String,
    };
    return _sdkInfo;
  } catch (_) {
    rethrow;
  }
}