getInteractiveRequestData static method
Map<String, dynamic>
getInteractiveRequestData({
- required InteractiveMessage message,
- required BaseInteractiveElement element,
- required String interactionTimezoneCode,
- required String interactedBy,
- Map<
String, dynamic> ? body,
Implementation
static Map<String, dynamic> getInteractiveRequestData(
{required InteractiveMessage message,
required BaseInteractiveElement element,
required String interactionTimezoneCode,
required String interactedBy,
Map<String, dynamic>? body}) {
Map<String, dynamic> requestData = {
InteractiveMessageConstants.appID:
CometChatUIKit.authenticationSettings?.appId ?? "",
InteractiveMessageConstants.region:
CometChatUIKit.authenticationSettings?.region ?? "",
InteractiveMessageConstants.trigger:
InteractiveMessageConstants.uiMessageInteracted,
InteractiveMessageConstants.data: {
InteractiveMessageConstants.conversationId:
message.conversationId ?? "",
InteractiveMessageConstants.sender: message.sender?.uid ?? "",
InteractiveMessageConstants.receiver: message.receiverUid,
InteractiveMessageConstants.receiverType: message.receiverType,
InteractiveMessageConstants.messageCategory: message.category,
InteractiveMessageConstants.messageType: message.type,
InteractiveMessageConstants.messageId: message.id,
InteractiveMessageConstants.interactionTimezoneCode:
interactionTimezoneCode,
InteractiveMessageConstants.interactedBy: interactedBy,
InteractiveMessageConstants.interactedElementId: element.elementId
}
};
if (element.action?.actionType == ActionTypeConstants.apiAction) {
if (element.action == null) {
APIAction apiAction = element.action! as APIAction;
Map<String, dynamic> payload = apiAction.payload ?? {};
requestData["payload"] = payload;
}
}
if (body != null && body.isNotEmpty) {
requestData.addAll(body);
}
return requestData;
}