Files
evolution-api/dashboard/prisma/schema.prisma
Claude 97e3930033 feat: adiciona painel interativo com chat e IA para análise de mensagens
- Dashboard completo com métricas em tempo real
- Chat interativo com IA para consultas em linguagem natural
- Análise de sentimento das mensagens
- Gráficos interativos (mensagens por dia, sentimentos)
- Filtros avançados por instância e data
- Top contatos e timeline de mensagens
- API routes para stats, mensagens, sentimento e chat
- Integração com PostgreSQL via Prisma
- Interface moderna com Next.js 14, TypeScript e Tailwind CSS
- Documentação completa com README e QUICKSTART
2025-11-14 03:16:46 +00:00

81 lines
2.1 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Instance {
id String @id @default(uuid()) @db.Uuid
name String @unique
connectionStatus String?
ownerJid String?
profilePictureUrl String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Message Message[]
Contact Contact[]
Chat Chat[]
@@map("Instance")
}
model Message {
id String @id @default(uuid()) @db.Uuid
key Json
pushName String?
participant String?
message Json
messageType String
messageTimestamp BigInt
instanceId String @db.Uuid
source String?
fromMe Boolean @default(false)
status String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
@@index([instanceId])
@@index([messageTimestamp])
@@index([fromMe])
@@map("Message")
}
model Contact {
id String @id @default(uuid()) @db.Uuid
remoteJid String
pushName String?
profilePictureUrl String?
instanceId String @db.Uuid
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
@@unique([instanceId, remoteJid])
@@index([instanceId])
@@map("Contact")
}
model Chat {
id String @id @default(uuid()) @db.Uuid
remoteJid String
name String?
unreadMessages Int @default(0)
lastMessageTime BigInt?
instanceId String @db.Uuid
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
@@unique([instanceId, remoteJid])
@@index([instanceId])
@@map("Chat")
}