Files
advx/prisma/schema-navegacao.prisma
rodrigo 8e75018a35 add webproof system
Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
2025-07-28 15:51:41 -03:00

107 lines
2.5 KiB
Plaintext

// Adicionar ao schema.prisma existente (não substitui)
model SessaoNavegacao {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
titulo String
descricao String?
status StatusSessao @default(INICIADA)
usuarioId String @db.Uuid
usuario Usuario @relation(fields: [usuarioId], references: [id])
// Dados da sessão
sessionKey String @unique
browserFingerprint Json
inicioSessao DateTime @default(now())
fimSessao DateTime?
duracaoSegundos Int?
// Arquivos gerados
videoPath String?
screenshotsPaths String[]
metadataPath String?
relatorioPdfPath String?
// Hashes e validação
checksumVideo String?
checksumMetadata String?
timestampProof String?
// Navegação registrada
acoes AcaoNavegacao[]
capturas CapturaNavegacao[]
criadoEm DateTime @default(now())
atualizadoEm DateTime @updatedAt
@@map("sessoes_navegacao")
}
model AcaoNavegacao {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
sessaoId String @db.Uuid
sessao SessaoNavegacao @relation(fields: [sessaoId], references: [id], onDelete: Cascade)
timestamp DateTime
tipo TipoAcao
url String?
elemento String?
coordenadas Json?
valor String?
screenshot String?
metadados Json
criadoEm DateTime @default(now())
@@map("acoes_navegacao")
}
model CapturaNavegacao {
id String @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
sessaoId String @db.Uuid
sessao SessaoNavegacao @relation(fields: [sessaoId], references: [id], onDelete: Cascade)
timestamp DateTime
url String
titulo String?
screenshotPath String
htmlContent String?
checksumHtml String?
checksumScreenshot String
// Metadados da página
networkRequests Json[]
cookies Json[]
localStorage Json?
sessionStorage Json?
criadoEm DateTime @default(now())
@@map("capturas_navegacao")
}
enum StatusSessao {
INICIADA
EM_ANDAMENTO
FINALIZANDO
CONCLUIDA
ERRO
CANCELADA
}
enum TipoAcao {
NAVEGACAO
CLIQUE
DIGITACAO
SCROLL
HOVER
DOWNLOAD
FORMULARIO
POPUP
REDIRECT
}
// Adicionar relação ao modelo Usuario existente
// Usuario {
// sessoesNavegacao SessaoNavegacao[]
// }