From 263840674d05aa205c32ef626234fb91815692ef Mon Sep 17 00:00:00 2001 From: Rafael Lopes Date: Thu, 23 Jul 2026 17:48:54 -0300 Subject: [PATCH 1/2] FIX: Adiciona logging detalhado no sync e corrige conflito de nome no import --- src/modules/whatsapp/whatsapp-template.service.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/whatsapp/whatsapp-template.service.ts b/src/modules/whatsapp/whatsapp-template.service.ts index f159e7e..1ed47f4 100644 --- a/src/modules/whatsapp/whatsapp-template.service.ts +++ b/src/modules/whatsapp/whatsapp-template.service.ts @@ -130,14 +130,19 @@ export class WhatsappTemplateService { return { synced: 0, imported: 0, error: data?.error?.message || 'Erro ao sincronizar' }; } + this.logger.log(`[Meta Templates] Meta retornou ${data.data.length} template(s)`); + let synced = 0; let imported = 0; for (const t of data.data) { const metaId = String(t.id); + this.logger.log(`[Meta Templates] Processando: "${t.name}" status="${t.status}"`); + const updated = await this.repo.updateMetaStatusByName(t.name, t.status, metaId); if (updated > 0) { synced++; + this.logger.log(`[Meta Templates] Status atualizado: "${t.name}" → ${t.status}`); continue; } @@ -159,12 +164,15 @@ export class WhatsappTemplateService { if (wasInserted) { imported++; this.logger.log(`[Meta Templates] Importado: "${t.name}" (${t.status})`); + } else { + this.logger.log(`[Meta Templates] Ignorado (já existe ou sem alteração): "${t.name}"`); } } catch (importErr: any) { this.logger.warn(`[Meta Templates] Falha ao importar "${t.name}": ${importErr.message}`); } } + this.logger.log(`[Meta Templates] Sync concluído: ${synced} atualizado(s), ${imported} importado(s)`); return { synced, imported }; } catch (err: any) { this.logger.error('[Meta Templates] Falha na sincronização:', err?.message); From a7ab0cc84c11758af1d49cd9722a64e1c472b243 Mon Sep 17 00:00:00 2001 From: Rafael Lopes Date: Thu, 23 Jul 2026 23:16:45 -0300 Subject: [PATCH 2/2] FIX: Corrige erro de tipo inconsistente nos parametros SQL do sync de templates Adiciona cast ::text explicito nos parametros $2 e $7 usados em CASE WHEN, resolvendo o erro 'inconsistent types deduced for parameter' do PostgreSQL. --- .../whatsapp/repositories/whatsapp-template.repository.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/whatsapp/repositories/whatsapp-template.repository.ts b/src/modules/whatsapp/repositories/whatsapp-template.repository.ts index 5721ef5..d225c44 100644 --- a/src/modules/whatsapp/repositories/whatsapp-template.repository.ts +++ b/src/modules/whatsapp/repositories/whatsapp-template.repository.ts @@ -155,7 +155,7 @@ export class WhatsappTemplateRepository { `UPDATE whatsapp_templates SET meta_status = $2, meta_template_id = COALESCE($3, meta_template_id), - meta_approved_at = CASE WHEN $2 = 'APPROVED' THEN CURRENT_TIMESTAMP ELSE meta_approved_at END, + meta_approved_at = CASE WHEN $2::text = 'APPROVED' THEN CURRENT_TIMESTAMP ELSE meta_approved_at END, updated_at = CURRENT_TIMESTAMP WHERE meta_template_name = $1`, [metaName, metaStatus, metaId || null], @@ -184,8 +184,8 @@ export class WhatsappTemplateRepository { status, meta_approved_at, updated_at ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11::jsonb, NULL, - CASE WHEN $7 = 'APPROVED' THEN 'approved' ELSE 'pending' END, - CASE WHEN $7 = 'APPROVED' THEN CURRENT_TIMESTAMP ELSE NULL END, + CASE WHEN $7::text = 'APPROVED' THEN 'approved' ELSE 'pending' END, + CASE WHEN $7::text = 'APPROVED' THEN CURRENT_TIMESTAMP ELSE NULL END, CURRENT_TIMESTAMP ) ON CONFLICT (name) DO UPDATE SET