From fda6b0d50e47d311d94a72f0bcf8240743d35122 Mon Sep 17 00:00:00 2001 From: Guilherme Gomes Date: Thu, 15 May 2025 18:19:23 -0300 Subject: [PATCH] feat(evoai): add Evoai and EvoaiSetting tables with foreign key constraints - Created the Evoai and EvoaiSetting tables in the PostgreSQL migration. - Defined primary keys and added foreign key constraints to link with the Instance table. - Included unique index on instanceId for EvoaiSetting to ensure data integrity. --- .../migration.sql | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 prisma/postgresql-migrations/20250515211815_add_evoai_table/migration.sql diff --git a/prisma/postgresql-migrations/20250515211815_add_evoai_table/migration.sql b/prisma/postgresql-migrations/20250515211815_add_evoai_table/migration.sql new file mode 100644 index 00000000..1350d8eb --- /dev/null +++ b/prisma/postgresql-migrations/20250515211815_add_evoai_table/migration.sql @@ -0,0 +1,61 @@ +-- CreateTable +CREATE TABLE "Evoai" ( + "id" TEXT NOT NULL, + "enabled" BOOLEAN NOT NULL DEFAULT true, + "description" VARCHAR(255), + "agentUrl" VARCHAR(255), + "apiKey" VARCHAR(255), + "expire" INTEGER DEFAULT 0, + "keywordFinish" VARCHAR(100), + "delayMessage" INTEGER, + "unknownMessage" VARCHAR(100), + "listeningFromMe" BOOLEAN DEFAULT false, + "stopBotFromMe" BOOLEAN DEFAULT false, + "keepOpen" BOOLEAN DEFAULT false, + "debounceTime" INTEGER, + "ignoreJids" JSONB, + "splitMessages" BOOLEAN DEFAULT false, + "timePerChar" INTEGER DEFAULT 50, + "triggerType" "TriggerType", + "triggerOperator" "TriggerOperator", + "triggerValue" TEXT, + "createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP NOT NULL, + "instanceId" TEXT NOT NULL, + + CONSTRAINT "Evoai_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "EvoaiSetting" ( + "id" TEXT NOT NULL, + "expire" INTEGER DEFAULT 0, + "keywordFinish" VARCHAR(100), + "delayMessage" INTEGER, + "unknownMessage" VARCHAR(100), + "listeningFromMe" BOOLEAN DEFAULT false, + "stopBotFromMe" BOOLEAN DEFAULT false, + "keepOpen" BOOLEAN DEFAULT false, + "debounceTime" INTEGER, + "ignoreJids" JSONB, + "splitMessages" BOOLEAN DEFAULT false, + "timePerChar" INTEGER DEFAULT 50, + "createdAt" TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP NOT NULL, + "evoaiIdFallback" VARCHAR(100), + "instanceId" TEXT NOT NULL, + + CONSTRAINT "EvoaiSetting_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "EvoaiSetting_instanceId_key" ON "EvoaiSetting"("instanceId"); + +-- AddForeignKey +ALTER TABLE "Evoai" ADD CONSTRAINT "Evoai_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "Instance"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "EvoaiSetting" ADD CONSTRAINT "EvoaiSetting_evoaiIdFallback_fkey" FOREIGN KEY ("evoaiIdFallback") REFERENCES "Evoai"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "EvoaiSetting" ADD CONSTRAINT "EvoaiSetting_instanceId_fkey" FOREIGN KEY ("instanceId") REFERENCES "Instance"("id") ON DELETE CASCADE ON UPDATE CASCADE;