createRoom method
Implementation
Future<String?> createRoom({
required Map<String, dynamic> body,
}) async {
try {
var headers = {'Content-Type': 'application/json'};
final response = await http.post(
Uri.parse('$_baseUrl/new_room'),
headers: headers,
body: json.encode(body),
);
if ((response.statusCode ~/ 100) > 2) {
print('❌ 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('❌ API Error: ${jsonData["message"]}');
throw LiveTalkError(message: jsonData);
}
final payload = jsonData["payload"];
_sdkInfo!["uuid"] = payload["conversation"]["uuid"];
_sdkInfo!["room_id"] = payload["conversation"]["_id"];
_sdkInfo!["access_token"] = payload["login_token"]["access_token"];
_sdkInfo!["refresh_token"] = payload["login_token"]["refresh_token"];
return payload["conversation"]["_id"];
}
return null;
} catch (error) {
print('❌ Exception during createRoom: $error');
rethrow;
}
}