Files
lexmind/prisma/schema-update.prisma

72 lines
2.1 KiB
Plaintext

// ===== MONITORAMENTO DE PUBLICAÇÕES =====
model ProcessoMonitorado {
id String @id @default(cuid())
userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
numeroProcesso String // Ex: 0001234-56.2024.8.26.0100
tribunal String // Ex: TJSP, TRF3, STJ
vara String?
comarca String?
parteAutora String?
parteRe String?
status ProcessoStatus @default(ATIVO)
// Dados do processo (buscados da API DataJud)
classe String?
assunto String?
dataAjuizamento DateTime?
orgaoJulgador String?
grau String?
valorCausa Float?
ultimaAtualizacao DateTime?
dadosCompletos Json? // JSON com todos os dados brutos da API
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
publicacoes Publicacao[]
andamentos Andamento[]
}
model Andamento {
id String @id @default(cuid())
processoId String
processo ProcessoMonitorado @relation(fields: [processoId], references: [id], onDelete: Cascade)
codigo Int
nome String
dataHora DateTime
complemento String?
createdAt DateTime @default(now())
@@unique([processoId, codigo, dataHora])
}
model Publicacao {
id String @id @default(cuid())
processoId String
processo ProcessoMonitorado @relation(fields: [processoId], references: [id], onDelete: Cascade)
dataPublicacao DateTime
diario String // Ex: DJe, DOU, DOESP
conteudo String @db.Text
tipo TipoPublicacao
prazoCalculado DateTime?
prazoTipo String? // Ex: "15 dias úteis", "5 dias"
visualizado Boolean @default(false)
createdAt DateTime @default(now())
}
enum ProcessoStatus {
ATIVO
ARQUIVADO
SUSPENSO
}
enum TipoPublicacao {
INTIMACAO
CITACAO
SENTENCA
DESPACHO
ACORDAO
OUTROS
}