Fixing the issue with complete deletion from the database

This commit is contained in:
2026-09-29 21:46:41 +03:30
parent 88dc7c5a1c
commit 5bb8e68521
6 changed files with 276 additions and 52 deletions
@@ -0,0 +1,20 @@
-- CreateTable
CREATE TABLE "ConversationHiddenMessage" (
"id" TEXT NOT NULL,
"organizationId" TEXT NOT NULL,
"externalRoomId" TEXT NOT NULL,
"messageId" TEXT NOT NULL,
"hiddenByUserId" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "ConversationHiddenMessage_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "ConversationHiddenMessage_organizationId_externalRoomId_idx" ON "ConversationHiddenMessage"("organizationId", "externalRoomId");
-- CreateIndex
CREATE UNIQUE INDEX "ConversationHiddenMessage_organizationId_externalRoomId_messageId_key" ON "ConversationHiddenMessage"("organizationId", "externalRoomId", "messageId");
-- AddForeignKey
ALTER TABLE "ConversationHiddenMessage" ADD CONSTRAINT "ConversationHiddenMessage_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
+15
View File
@@ -209,6 +209,7 @@ model Organization {
leadImportJobs LeadImportJob[]
conversationSettings ConversationSettings?
conversationRooms ConversationRoom[]
conversationHiddenMessages ConversationHiddenMessage[]
}
model User {
@@ -2095,3 +2096,17 @@ model ConversationRoom {
@@unique([organizationId, dmUserMinId, dmUserMaxId])
@@index([organizationId, kind])
}
/// پیام‌های حذف‌شده برای همه در CRM (سرویس چت خارجی حذف پایدار ندارد)
model ConversationHiddenMessage {
id String @id @default(cuid())
organizationId String
organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
externalRoomId String
messageId String
hiddenByUserId String
createdAt DateTime @default(now())
@@unique([organizationId, externalRoomId, messageId])
@@index([organizationId, externalRoomId])
}