getInteractiveRequestData static method

Map<String, dynamic> getInteractiveRequestData({
  1. required InteractiveMessage message,
  2. required BaseInteractiveElement element,
  3. required String interactionTimezoneCode,
  4. required String interactedBy,
  5. 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;
}