filepath = "/root/efesto-qa/source/backend/src/routes/webhook.js"

with open(filepath, "r") as f:
    content = f.read()

# Add timestamp guard after status@broadcast check
old_block = """    // Ignorar mensajes de estado
    if (data.key?.remoteJid === 'status@broadcast') {
      console.log('⏭️ Ignoring status broadcast');
      return;
    }"""

new_block = """    // Ignorar mensajes de estado
    if (data.key?.remoteJid === 'status@broadcast') {
      console.log('⏭️ Ignoring status broadcast');
      return;
    }

    // Ignorar mensajes anteriores a la conexion (historicos/offline)
    const messageTimestamp = data.messageTimestamp;
    if (messageTimestamp) {
      const instance = await prisma.whatsappInstance.findUnique({
        where: { instanceName },
        select: { connectedAt: true }
      });
      if (instance?.connectedAt) {
        const msgDate = new Date(messageTimestamp * 1000);
        if (msgDate < instance.connectedAt) {
          console.log(`⏭️ Ignoring old message (${msgDate.toISOString()} < connectedAt ${instance.connectedAt.toISOString()})`);
          return;
        }
      }
    }"""

if old_block in content:
    content = content.replace(old_block, new_block)
    with open(filepath, "w") as f:
        f.write(content)
    print("OK - timestamp guard added")
else:
    print("ERROR - could not find insertion point")
