getProductTag static method

Future<ProductTag?> getProductTag({
  1. required String barcode,
  2. required String key,
  3. UriHelper uriHelper = uriHelperFolksonomyProd,
})

Returns the ProductTag for this product and this tag key

Returns null if not found.

Implementation

static Future<ProductTag?> getProductTag({
  required final String barcode,
  required final String key,
  final UriHelper uriHelper = uriHelperFolksonomyProd,
}) async {
  final Map<String, String> parameters = <String, String>{};
  /* TODO
  if (owner != null) {
    parameters['owner'] = owner;
  }
   */
  final Response response = await HttpHelper().doGetRequest(
    uriHelper.getUri(
      path: 'product/$barcode/$key',
      queryParameters: parameters,
    ),
    uriHelper: uriHelper,
  );
  // may return 404 (and "null") when not found.
  _checkResponse(
    response,
    authorizedStatus: <int>[200, 404],
  );
  if (response.body == 'null') {
    // not found
    return null;
  }
  final Map<String, dynamic> json =
      HttpHelper().jsonDecode(response.body) as Map<String, dynamic>;
  return ProductTag.fromJson(json);
}