72 lines
2.1 KiB
Plaintext
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
|
|
}
|