// @requires config.js hash.js slack.js // Roda depois de "Data Table - Buscar Envios Recentes" (fetch por report_date=hoje), que existe // so pra trazer os registros de envio ja existentes; os dados do digest sao lidos por nome // (mesmo padrao ja usado em Code - Comparar Legacy x V2). const digestData = $('Code - Montar Digest Coordenacao').first().json; // { mensagem, selected, excluded, dateStr, digest, changedBlocked } const config = digestData.selected.length ? digestData.selected[0].config : parseConfig($('Config - Coordenador GLPI v2').first().json); const existingRecords = $input.all().map((item) => item.json); // $execution.mode: 'manual' quando disparado pelo Manual Trigger, senao ('trigger' no // Schedule Trigger) tratamos como execucao agendada. Nao inventa um mecanismo novo de deteccao. const runType = $execution.mode === 'manual' ? 'manual' : 'scheduled'; const messageHash = computeMessageHash(digestData.mensagem); const guard = evaluateSendGuard({ config, existingRecords, reportDate: digestData.dateStr, runType, messageHash, }); return [{ json: { mensagem: digestData.mensagem, dateStr: digestData.dateStr, runType, messageHash, shouldSend: guard.shouldSend, reason: guard.reason, }, }];