getAllKurals method

Future getAllKurals()

Implementation

Future getAllKurals() async{
  isAllKuralsLoaded = false;
  allKuralsList.clear();
  errorMessageForAllKurals = '';

  try {
    ApiResponse response = await ApiServices.get(
        requestHeaders: {},
        requestParams: {},
        endpoint: UrlServices.GET_ALL_THIRUKURALS
    );

    logger.w(response.toJson());

    if (response.status != null && response.status!) {
      List<dynamic> responseList = response.response ?? [];
      if(responseList.isNotEmpty) {
        for(var json in responseList){
          allKuralsList.add(Kural.fromJson(json));
          isAllKuralsLoaded = true;
        }
      } else{
        errorMessageForAllKurals = response.message ?? 'No response from server.';
      }
    } else {
      errorMessageForAllKurals = response.message ??
          'Server error, failed to load kurals, please try again later';
    }
  } catch (e, stackTrace) {
    logger.e('Error while fetching all kurals: $e, $stackTrace');
    errorMessageForAllKurals = 'Error while fetching all kurals: $e';
  }

  state = state.allKuralsCopyWith(
      isAllKuralsLoaded: isAllKuralsLoaded,
      allKuralsList: allKuralsList,
      errorMessageForAllKurals: errorMessageForAllKurals
  );
}