getEnglishChapterNames method

Future getEnglishChapterNames()

Implementation

Future getEnglishChapterNames() async {
  isAllEnglishChaptersLoaded = false;
  englishChapterNamesList.clear();
  englishChapterNamesErrorMessage = '';

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

    logger.w(response.toJson());

    if (response.status != null && response.status!) {
      List<dynamic> responseList = response.response ?? [];
      if (responseList.isNotEmpty) {
        for (var englishChapterName in responseList) {
          englishChapterNamesList.add(englishChapterName);
          isAllEnglishChaptersLoaded = true;
        }
      } else {
        englishChapterNamesErrorMessage = response.message ?? 'No response from server.';
      }
    } else {
      englishChapterNamesErrorMessage =
          response.message ?? 'Server error, failed to load english chapter names, please try again later.';
    }
  } catch (e, stackTrace) {
    logger.e('Error while fetching english chapter names: $e, $stackTrace');
    englishChapterNamesErrorMessage = 'Error while fetching english chapter names: $e';
  }

  state = state.copyWithEnglishChapterNames(
    englishChapterNamesList: englishChapterNamesList,
    isAllEnglishChaptersLoaded: isAllEnglishChaptersLoaded,
    englishChapterNamesErrorMessage: englishChapterNamesErrorMessage,
  );
}