CardMessage.fromInteractiveMessage constructor
CardMessage.fromInteractiveMessage(
- InteractiveMessage message
Creates a CardMessage from an InteractiveMessage.
Implementation
factory CardMessage.fromInteractiveMessage(InteractiveMessage message) {
List<BaseInteractiveElement> elementList = [];
if (message.interactiveData[CardMessageKeys.cardActions] != null) {
for (var elementMap
in (message.interactiveData[CardMessageKeys.cardActions] as List)) {
elementList.add(BaseInteractiveElement.fromMap(elementMap));
}
}
return CardMessage(
id: message.id,
receiverType: message.receiverType,
tags: message.tags,
muid: message.muid,
sender: message.sender,
receiver: message.sender,
receiverUid: message.receiverUid,
type: message.type,
category: message.category,
sentAt: message.sentAt,
deliveredAt: message.deliveredAt,
readAt: message.readAt,
metadata: message.metadata,
readByMeAt: message.readByMeAt,
deliveredToMeAt: message.deliveredToMeAt,
deletedAt: message.deletedAt,
editedAt: message.editedAt,
deletedBy: message.deletedBy,
editedBy: message.editedBy,
updatedAt: message.updatedAt,
conversationId: message.conversationId,
parentMessageId: message.parentMessageId,
replyCount: message.replyCount,
text: message.interactiveData[CardMessageKeys.text] ?? "",
cardActions: elementList,
imageUrl: message.interactiveData[CardMessageKeys.imageUrl],
interactionGoal: message.interactionGoal,
interactions: message.interactions,
allowSenderInteraction: message.allowSenderInteraction);
}