import 'package:injectable/injectable.dart'; import 'package:mnemo_cards_common_backend/mnemo_cards_common_backend.dart'; import 'package:crypto/crypto.dart' as crypto; @lazySingleton class AdsManager { final _salt = 'elmhqun0d58iqm265bmqlg4oymqujrub'; AdsManager(); String getAdsKey(List products, UserModel user) { final productString = (products.toList()..sort((p, n) => (p.id ?? '').compareTo(n.id ?? ''))) .map((product) => '${product.type.name}_${product.id}') .join(','); final userId = user.id.toString(); final hash = crypto.sha256 .convert('${productString}_${userId}_$_salt'.codeUnits) .toString(); return hash; } }