added messages conversations and dm to prisma

This commit is contained in:
Bob Burningham 2023-10-20 22:44:49 -07:00
parent 3c586ddc99
commit ad78831d7e

View File

@ -57,6 +57,12 @@ model Member{
serverId String serverId String
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade) server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
messages Message[]
directMessages DirectMessage[]
conversationsInitiated Conversation[] @relation("MemberOne")
conversationsReceived Conversation[] @relation("MemberTwo")
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
@ -81,9 +87,70 @@ model Channel{
serverId String serverId String
server Server @relation(fields: [serverId], references: [id], onDelete: Cascade) server Server @relation(fields: [serverId], references: [id], onDelete: Cascade)
messages Message[]
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
@@index([profileId]) @@index([profileId])
@@index([serverId]) @@index([serverId])
} }
model Message{
id String @id @default(uuid())
content String @db.Text
fileUrl String? @db.Text
memberId String
member Member @relation(fields: [memberId], references: [id], onDelete: Cascade)
channelId String
channel Channel @relation(fields: [channelId], references: [id], onDelete: Cascade)
deleted Boolean @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([channelId])
@@index([memberId])
}
model Conversation{
id String @id @default(uuid())
memberOneId String
MemberOne Member @relation("MemberOne", fields: [memberOneId], references: [id], onDelete: Cascade)
memberTwoId String
MemberTwo Member @relation("MemberTwo", fields: [memberTwoId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
directmessages DirectMessage[]
@@index([memberTwoId])
@@unique([memberOneId, memberTwoId])
}
model DirectMessage{
id String @id @default(uuid())
content String @db.Text
fileUrl String? @db.Text
memberId String
member Member @relation(fields: [memberId], references: [id], onDelete: Cascade)
conversationId String
conversation Conversation @relation(fields: [conversationId], references: [id], onDelete: Cascade)
deleted Boolean @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([memberId])
@@index([conversationId])
}