toMap method
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
};
}
}