Updated plan file
Edited UI in Lovable
This commit is contained in:
parent
05a4197e86
commit
647ea938c3
80
.lovable/plan.md
Normal file
80
.lovable/plan.md
Normal 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`
|
||||||
Loading…
Reference in New Issue
Block a user