Files
lexmind/docs/PUBLICACOES.md

3.2 KiB

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

# 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:

Schema do Banco

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