# Módulo de Monitoramento de Publicações

## Visão Geral

Este módulo permite que advogados monitorem publicações nos Diários Oficiais (DJe, DOU, DOESP) relacionadas aos seus processos. O sistema calcula automaticamente prazos com base no tipo de publicação.

## Funcionalidades

- **Cadastro de processos** para monitoramento
- **Busca de publicações** (mock para MVP)
- **Cálculo automático de prazos** com base no tipo de publicação
- **Dashboard** com estatísticas e alertas
- **Filtros** por tipo, processo, período, status de leitura
- **Marcação de publicações** como lidas

## Tipos de Publicação e Prazos

| Tipo | Prazo Padrão |
|------|--------------|
| Intimação | 15 dias úteis |
| Citação | 15 dias úteis |
| Sentença | 15 dias úteis (recurso) |
| Despacho | 5 dias úteis |
| Acórdão | 15 dias úteis (embargos/recurso) |
| Outros | 5 dias úteis |

## API Endpoints

### Processos

- `GET /api/processos` - Lista processos monitorados
- `POST /api/processos` - Cadastra novo processo
- `GET /api/processos/[id]` - Detalhes de um processo
- `PUT /api/processos/[id]` - Atualiza processo
- `DELETE /api/processos/[id]` - Remove processo

### Publicações

- `GET /api/publicacoes` - Lista publicações (com filtros)
- `PATCH /api/publicacoes/[id]/visualizar` - Marca como lida
- `POST /api/publicacoes/buscar` - Busca novas publicações

## Configuração de Busca Automática (Cron Job)

### Opção 1: Cron do Sistema

```bash
# Editar crontab
crontab -e

# Adicionar linha para buscar diariamente às 8h
0 8 * * * curl -X POST http://localhost:3000/api/publicacoes/buscar -H "Cookie: session=..." >> /var/log/lexmind-publicacoes.log 2>&1
```

### Opção 2: Scheduler Externo

Use serviços como:
- **cron-job.org** (gratuito)
- **EasyCron**
- **GitHub Actions** (scheduled workflow)

Configurar para fazer POST em `/api/publicacoes/buscar` diariamente.

## Integração com APIs Reais (Futuro)

Para substituir o mock por APIs reais dos tribunais:

1. Editar `src/lib/publicacoes-service.ts`
2. Implementar `buscarPublicacoesTribunal(tribunal, numeroProcesso)`
3. APIs sugeridas:
   - **Datajud** (CNJ) - https://datajud-wiki.cnj.jus.br/
   - **e-SAJ** (TJSP) - via scraping
   - **PJe** - via API onde disponível

## Schema do Banco

```prisma
model ProcessoMonitorado {
  id              String          @id @default(cuid())
  userId          String
  numeroProcesso  String          // Formato CNJ: 0000000-00.0000.0.00.0000
  tribunal        String          // Ex: TJSP, TRF3, STJ
  vara            String?
  comarca         String?
  parteAutora     String?
  parteRe         String?
  status          ProcessoStatus  @default(ATIVO)
  publicacoes     Publicacao[]
}

model Publicacao {
  id              String             @id @default(cuid())
  processoId      String
  dataPublicacao  DateTime
  diario          String             // Ex: DJe, DOU, DOESP
  conteudo        String             @db.Text
  tipo            TipoPublicacao
  prazoCalculado  DateTime?
  prazoTipo       String?
  visualizado     Boolean            @default(false)
}
```

## Changelog

### v1.0.0 (MVP)
- Cadastro e gerenciamento de processos
- Dashboard de publicações
- Busca mock para testes
- Cálculo automático de prazos
- Filtros e marcação de leitura
