toMap method

  1. @override
Map<String, dynamic> toMap({
  1. required bool isProto,
})

isProto is only true for server pull/push, too sensitive to be optional

Implementation

@override
Map<String, dynamic> toMap({required bool isProto}) {
  if (isProto) {
    Map<String, dynamic> articleRetail = {};
    Map<String, dynamic> articleBasket = {};
    Map<String, dynamic> articleUncountable = {};
    article.toMap();
    if (isBasket) {
      articleBasket = article.toMap();
    } else if (isUncountable) {
      articleUncountable = article.toMap();
    } else {
      articleRetail = article.toMap();
    }
    return {
      'quantity': quantity,
      'proxies_worth': proxiesWorth?.map((x) => x.toMap()).toList(),
      'inventoryAbsoluteQt': inventoryAbsoluteQt,
      // onPurpose because protobuff do not do generic
      'articleBasket': articleBasket,
      'articleRetail': articleRetail,
      'articleUncountable': articleUncountable,
    };
  } else {
    return {
      'article': article.toMap(),
      'quantity': quantity,
      'proxies_worth': proxiesWorth?.map((x) => x.toMap()).toList(),
      'inventoryAbsoluteQt': inventoryAbsoluteQt
    };
  }
}