mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-01-16 12:12:09 +01:00
71 lines
2.1 KiB
SQL
71 lines
2.1 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Company" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"name" TEXT NOT NULL,
|
|
"csvUrl" TEXT NOT NULL,
|
|
"csvUsername" TEXT,
|
|
"csvPassword" TEXT,
|
|
"sentimentAlert" REAL,
|
|
"dashboardOpts" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "User" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"email" TEXT NOT NULL,
|
|
"password" TEXT NOT NULL,
|
|
"companyId" TEXT NOT NULL,
|
|
"role" TEXT NOT NULL,
|
|
"resetToken" TEXT,
|
|
"resetTokenExpiry" DATETIME,
|
|
CONSTRAINT "User_companyId_fkey" FOREIGN KEY ("companyId") REFERENCES "Company" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Session" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"companyId" TEXT NOT NULL,
|
|
"startTime" DATETIME NOT NULL,
|
|
"endTime" DATETIME NOT NULL,
|
|
"ipAddress" TEXT,
|
|
"country" TEXT,
|
|
"language" TEXT,
|
|
"messagesSent" INTEGER,
|
|
"sentiment" TEXT,
|
|
"escalated" BOOLEAN,
|
|
"forwardedHr" BOOLEAN,
|
|
"fullTranscriptUrl" TEXT,
|
|
"avgResponseTime" REAL,
|
|
"tokens" INTEGER,
|
|
"tokensEur" REAL,
|
|
"category" TEXT,
|
|
"initialMsg" TEXT,
|
|
"processed" BOOLEAN NOT NULL DEFAULT false,
|
|
"validData" BOOLEAN NOT NULL DEFAULT true,
|
|
"questions" JSONB,
|
|
"summary" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT "Session_companyId_fkey" FOREIGN KEY ("companyId") REFERENCES "Company" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Message" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"sessionId" TEXT NOT NULL,
|
|
"timestamp" DATETIME NOT NULL,
|
|
"role" TEXT NOT NULL,
|
|
"content" TEXT NOT NULL,
|
|
"order" INTEGER NOT NULL,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT "Message_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "Session" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "Message_sessionId_order_idx" ON "Message"("sessionId", "order");
|
|
|