Updated plan file

Edited UI in Lovable
This commit is contained in:
gpt-engineer-app[bot] 2026-02-04 14:12:21 +00:00
parent 05a4197e86
commit 647ea938c3

80
.lovable/plan.md Normal file
View File

@ -0,0 +1,80 @@
# Plano: Corrigir Avisos de Contas
## Visão Geral
O sistema de avisos de contas não está funcionando porque falta o **cron job** no Supabase que deveria chamar a edge function `avisos-financeiros` periodicamente. A função existe e está bem implementada, mas nunca é executada automaticamente.
---
## O que será feito
### 1. Configurar Edge Function
Adicionar a função `avisos-financeiros` no `supabase/config.toml` com `verify_jwt = false` para permitir chamadas do cron.
### 2. Corrigir a Edge Function
- Corrigir a comparação de horário (a função compara "09:00" com "09:00:00")
- Melhorar a lógica para executar a cada minuto e verificar se é hora de enviar avisos
### 3. Criar o Cron Job
Executar SQL no Supabase para criar um cron job que execute a cada minuto:
- O job chamará a edge function via HTTP POST
- Usará as extensões `pg_cron` e `pg_net`
---
## Detalhes Técnicos
### Arquivo: `supabase/config.toml`
Adicionar configuração:
```toml
[functions.avisos-financeiros]
verify_jwt = false
```
### Arquivo: `supabase/functions/avisos-financeiros/index.ts`
Corrigir a comparação de horário:
```typescript
// ANTES (não funciona):
horaAtualBrasilia === conta.hora_aviso // "09:00" vs "09:00:00"
// DEPOIS (corrigido):
const horaAvisoNormalizada = conta.hora_aviso.substring(0, 5); // "09:00:00" -> "09:00"
horaAtualBrasilia === horaAvisoNormalizada
```
### SQL para criar o Cron Job
Este SQL precisa ser executado no Cloud View > Run SQL:
```sql
-- Habilitar extensões necessárias
CREATE EXTENSION IF NOT EXISTS pg_cron;
CREATE EXTENSION IF NOT EXISTS pg_net;
-- Criar cron job para executar a cada minuto
SELECT cron.schedule(
'avisos-financeiros-minuto',
'* * * * *',
$$
SELECT net.http_post(
url := 'https://tnurlgbvfsxwqgwxamni.supabase.co/functions/v1/avisos-financeiros',
headers := '{"Content-Type": "application/json", "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InRudXJsZ2J2ZnN4d3Fnd3hhbW5pIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDQ5MTQ1OTksImV4cCI6MjA2MDQ5MDU5OX0.9__EQiZDJ954SmeeJIDTQjOYDjiiRcppai1e8UpuOl4"}'::jsonb,
body := '{}'::jsonb
) AS request_id;
$$
);
```
---
## Sequência de Implementação
1. Atualizar `supabase/config.toml`
2. Corrigir `supabase/functions/avisos-financeiros/index.ts`
3. Executar SQL para criar o cron job (você precisará fazer isso manualmente no painel do Supabase)
---
## Resultado Esperado
- A edge function será chamada a cada minuto
- A função verificará se há contas com avisos a enviar no horário configurado
- Os avisos serão enviados via webhook para o n8n
- O histórico de avisos enviados será registrado na tabela `avisos_enviados`