import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:model/email/attachment.dart'; extension ListAttachmentExtension on List { num totalSize() { if (isNotEmpty) { final currentListSize = map((attachment) => attachment.size?.value ?? 0).toList(); final totalSize = currentListSize.reduce((sum, size) => sum + size); return totalSize; } return 0; } List get listAttachmentsDisplayedOutSide => where((attachment) => attachment.noCid() || !attachment.isInlined()).toList(); List get listAttachmentsDisplayedInContent => where((attachment) => attachment.hasCid()).toList(); Map toMapCidImageDownloadUrl({ required AccountId accountId, required String downloadUrl }) { final mapUrlDownloadCID = { for (var attachment in listAttachmentsDisplayedInContent) attachment.cid! : attachment.getDownloadUrl(downloadUrl, accountId) }; return mapUrlDownloadCID; } }