checkDataMasking static method

String checkDataMasking(
  1. BaseMessage baseMessage
)

Implementation

static String checkDataMasking(BaseMessage baseMessage) {
  String result = (baseMessage as TextMessage).text;
  String sensitiveData;
  String messageMasked;
  Map<String, Map>? extensionList =
      ExtensionModerator.extensionCheck(baseMessage);
  if (extensionList != null) {
    try {
      if (extensionList.containsKey(ExtensionConstants.dataMasking)) {
        Map<dynamic, dynamic>? dataMasking =
            extensionList[ExtensionConstants.dataMasking];
        Map<dynamic, dynamic> dataObject = dataMasking?["data"];
        if (dataObject.containsKey("sensitive_data") &&
            dataObject.containsKey("message_masked")) {
          sensitiveData = dataObject["sensitive_data"];
          messageMasked = dataObject["message_masked"];
          if (sensitiveData == "no") {
            result = (baseMessage).text;
          } else {
            result = messageMasked;
          }
        } else if (dataObject.containsKey("action") &&
            dataObject.containsKey("message")) {
          result = dataObject["message"];
        }
      } else {
        result = (baseMessage).text;
      }
    } catch (e, stack) {
      debugPrint(stack.toString());
    }
  }
  return result;
}