getConversationMetaData method

  1. @override
Future<ConversationMetaData> getConversationMetaData()
override

Implementation

@override
Future<ConversationMetaData> getConversationMetaData() async {
  var jsonData = {
    "userId": "U78853",
    "pageNum": 1,
  };

  print("API call");

  try {
    final response = await _api.postWithHeaders(
        AppRoutes.getConversationMetaData, jsonData,
        token:
            "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjY1MDE1LCJpYXQiOjE3MzY4NDY1NzJ9.mBrSjYGQj89Zwe-EBOTiKTkvyXW1NubIK_7FoIukZrw");

    print(response.data);

    final List<dynamic> metadata = response.data["metadata"];

    // Get the first object in the metadata list
    final Map<String, dynamic> firstObject = metadata[0];

    // Print the first object
    print(firstObject);

    return ConversationMetaData.fromJson(firstObject);
  } on DioException catch (e) {
    print("exception");
    print(e.response);

    if (e.response?.statusCode == HttpStatus.badRequest) {
      final errorData = e.response!.data;
      final errorMessage = errorData['message'] ?? 'An error occurred';
      throw BadRequest(errorMessage);
    } else {
      throw Exception(e.message);
    }
  }
}