toProduct static method

AffiseProduct? toProduct(
  1. dynamic from
)

Implementation

static AffiseProduct? toProduct(dynamic from) {
  var json = tryCast<Map<Object?, Object?>>(from);
  if (json == null) return null;

  var productType =
      AffiseProductType.from(json[DataName.PRODUCT_TYPE] as String?);

  var productId = (json[DataName.PRODUCT_ID] as String?);
  var title = (json[DataName.TITLE] as String?) ?? "";
  var description = (json[DataName.DESCRIPTION] as String?) ?? "";

  if (productId == null) {
    return null;
  }

  return AffiseProduct(
    productId: productId,
    title: title,
    description: description,
    productType: productType ?? AffiseProductType.CONSUMABLE,
    price: toPrice(json[DataName.PRICE]),
    subscription: toSubscriptionDetail(json[DataName.SUBSCRIPTION]),
    // productDetails: json[DataName.PRODUCT_DETAILS] as String?,
  );
}