def get_reviews()

in dialogflow-prebuilt-agents/cloud-functions/retail_assistant/main.py [0:0]


def get_reviews():
  """retrieve product's reviews (Currently using DUMMY reviews)"""
  app.logger.warning("REACHED /GET_REVIEWS")
  request_json = request.get_json(silent=False)
  app.logger.warning("REQUEST: %s", request_json)

  # Eventually this should look up reviews based on the product ID provided.
  shown_products = request_json["shown_products"]
  reviews_per_product = len(REVIEWS) // len(shown_products)
  app.logger.warning("reviews_per_product: %s", reviews_per_product)

  # splitting the reviews for the shown products
  reviews = []
  for idx, product in enumerate(shown_products):
    for r in REVIEWS[
        idx * reviews_per_product : (idx + 1) * reviews_per_product
    ]:
      review = r.copy()
      review["product_id"] = product["id"]
      review["title"] = product["title"]
      review["desc"] = review["desc"].replace("${title}", product["title"])

      reviews.append(review)

  app.logger.warning("REVIEWS: %s", reviews)

  # Transforming reviews into a customer template format to display in UI
  response = generate_custom_template(reviews, template="review-template")
  response["reviews"] = reviews
  return flask.jsonify(response)