JSFiddle - React, Tailwind, and code Playground

by Lucas Bittar Magnani

JavaScript

var anexosMensagem = [];
var anexoData = {};
var dataUltimaVerificacao;

anexosMensagem = mensagem.data.payload.parts.map(async parteMensagem => {
  //LER ANEXOS DOS EMAILS APENAS NOS FORMATOS XML E PDF
  if ((parteMensagem.mimeType == 'application/pdf') || (parteMensagem.mimeType == 'text/xml') && parteMensagem.body.attachmentId) {
    const anexo = await conexaoGmail.users.messages.attachments.get({
        id: parteMensagem.body.attachmentId,
        userId: params.email,
        messageId: message.id
      })
      .then(async (result) => {
        if (result.data) {
          anexoData.mimeType = parteMensagem.mimeType;
          anexoData.filename = parteMensagem.filename;
          anexoData.size = result.data.size;
          anexoData.data = new Buffer(result.data.data, 'base64'); //base64_decode(base64url.toBase64(result.data.data))
        }

        anexoData.idRegistroPde = await RegistroModel.inserirRegistroPDE(params, anexoData);
        let retornoTratamento = await validarAnexo(params, anexoData);
        if (retornoTratamento == null) {
          console.log(`tratamento fracassou`);
        }
        console.log('fim do anexo');

        dataUltimaVerificacao = dataRecebimentoEmail;

        return anexoData;

      });

  };

  return anexoData;

});