getFetchedProduct method Null safety

Future getFetchedProduct()

Implementation

Future<FetchedProduct> getFetchedProduct() async {
  final ProductQueryConfiguration configuration = ProductQueryConfiguration(
    barcode,
    fields: ProductQuery.fields,
    language: ProductQuery.getLanguage(),
    country: ProductQuery.getCountry(),
  );

  final ProductResult result;
  try {
    result = await OpenFoodAPIClient.getProduct(configuration);
  } catch (e) {
    return FetchedProduct.error(FetchedProductStatus.internetError);
  }

  if (result.status == 1) {
    final Product? product = result.product;
    if (product != null) {
      await daoProduct.put(product);
      return FetchedProduct(product);
    }
  }
  return FetchedProduct.error(FetchedProductStatus.internetNotFound);
}