getProductImageIds static method

  1. @Deprecated('Use product field "images" instead')
Future<List<int>> getProductImageIds(
  1. String barcode, {
  2. User? user,
  3. UriProductHelper uriHelper = uriHelperFoodProd,
})

Returns the ids of all uploaded images for that product.

To be used in combination with ImageHelper.getUploadedImageUrl. Does not depend on language or country.

Implementation

// TODO: deprecated from 2023-11-25; remove when old enough
@Deprecated('Use product field "images" instead')
static Future<List<int>> getProductImageIds(
  final String barcode, {
  final User? user,
  final UriProductHelper uriHelper = uriHelperFoodProd,
}) async {
  final ProductQueryConfiguration configuration = ProductQueryConfiguration(
    barcode,
    version: ProductQueryVersion.v3,
    fields: <ProductField>[ProductField.IMAGES],
  );
  final String productString = await getProductString(
    configuration,
    user: user,
    uriHelper: uriHelper,
  );
  final String jsonStr = _replaceQuotes(productString);
  final json = HttpHelper().jsonDecode(jsonStr);
  if (json['status'] != 'success') {
    throw Exception('Error: ${json['status']}');
  } else if (json['product']['images'] == null) {
    return <int>[];
  }

  final Map<String, dynamic> images = json['product']['images'];
  final List<int> result = <int>[];
  for (final String key in images.keys) {
    final int? value = int.tryParse(key);
    if (value != null) {
      result.add(value);
    }
  }
  result.sort();
  return result;
}