diff --git a/src/database/migrations/20251203123628_add_ticket_sla/migration.sql b/src/database/migrations/20251203123628_add_ticket_sla/migration.sql new file mode 100644 index 0000000..0e80bb7 --- /dev/null +++ b/src/database/migrations/20251203123628_add_ticket_sla/migration.sql @@ -0,0 +1,38 @@ +-- AlterTable +ALTER TABLE "Ticket" ADD COLUMN "firstClaimAt" TIMESTAMP(3), +ADD COLUMN "firstResponseAt" TIMESTAMP(3), +ADD COLUMN "kbSuggestionSentAt" TIMESTAMP(3), +ALTER COLUMN "status" SET DEFAULT 'neu'; + +-- CreateTable +CREATE TABLE "TicketAutomationRule" ( + "id" TEXT NOT NULL, + "guildId" TEXT NOT NULL, + "name" TEXT NOT NULL, + "condition" JSONB NOT NULL, + "action" JSONB NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "TicketAutomationRule_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "KnowledgeBaseArticle" ( + "id" TEXT NOT NULL, + "guildId" TEXT NOT NULL, + "title" TEXT NOT NULL, + "keywords" TEXT[], + "content" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "KnowledgeBaseArticle_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "TicketAutomationRule_guildId_active_idx" ON "TicketAutomationRule"("guildId", "active"); + +-- CreateIndex +CREATE INDEX "KnowledgeBaseArticle_guildId_idx" ON "KnowledgeBaseArticle"("guildId"); diff --git a/src/web/routes/dashboard.ts b/src/web/routes/dashboard.ts index 066f62e..9741f78 100644 --- a/src/web/routes/dashboard.ts +++ b/src/web/routes/dashboard.ts @@ -1,4 +1,4 @@ -import { Router } from 'express'; +import { Router } from 'express'; const router = Router(); @@ -43,18 +43,18 @@ router.get('/', (req, res) => {