geBanners method

Future<List<BannerModel>> geBanners(
  1. String typeId
)

Implementation

Future<List<BannerModel>> geBanners(String typeId) async {
  var banner;
  GraphQLClient _client = graphQLConfiguration.clientToQuery();

  var homeBannerGql = """
                query getAllEnableHomePageBanner(\$typeId: String) {
            getAllEnableHomePageBanner(typeId: \$typeId) {
              _id
              imageName
              mobileImageName
              title
              description
              status
              link
              typeId {
                _id
                type
                count
                status
                sortOrder
                __typename
              }
              sortOrder
              __typename
            }
          }
          """;

  final vble = {
    "typeId": typeId,
  };
  QueryResult result = await _client.query(QueryOptions(
    document: gql(homeBannerGql),
    variables: vble,
    fetchPolicy: FetchPolicy.networkOnly,
  ));

  if (!result.hasException) {
    var bannerAvailable = result.data!['getAllEnableHomePageBanner'];

    if (bannerAvailable != null && bannerAvailable.length > 0) {
      bannerAvailable.forEach((element) => {
            banner = new BannerModel(
              element['_id'],
              element['description'],
              element['imageName'],
              element['link'],
              element['mobileImageName'],
              element['sortOrder'],
              element['title'],
              element['status'],
            ),
            homeBannerList.add(banner)
          });
    }
    return homeBannerList;
  }
  return homeBannerList;
}