-- CreateTable CREATE TABLE "api_keys" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "secret" TEXT, "createdBy" INTEGER, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "workspace_documents" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "docId" TEXT NOT NULL, "filename" TEXT NOT NULL, "docpath" TEXT NOT NULL, "workspaceId" INTEGER NOT NULL, "metadata" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "workspace_documents_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "workspaces" ("id") ON DELETE RESTRICT ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "invites" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "code" TEXT NOT NULL, "status" TEXT NOT NULL DEFAULT 'pending', "claimedBy" INTEGER, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdBy" INTEGER NOT NULL, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "system_settings" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "label" TEXT NOT NULL, "value" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "users" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "username" TEXT, "password" TEXT NOT NULL, "role" TEXT NOT NULL DEFAULT 'default', "suspended" INTEGER NOT NULL DEFAULT 0, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "document_vectors" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "docId" TEXT NOT NULL, "vectorId" TEXT NOT NULL, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "welcome_messages" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "user" TEXT NOT NULL, "response" TEXT NOT NULL, "orderIndex" INTEGER, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "workspaces" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" TEXT NOT NULL, "slug" TEXT NOT NULL, "vectorTag" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "openAiTemp" REAL, "openAiHistory" INTEGER NOT NULL DEFAULT 20, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "openAiPrompt" TEXT ); -- CreateTable CREATE TABLE "workspace_chats" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "workspaceId" INTEGER NOT NULL, "prompt" TEXT NOT NULL, "response" TEXT NOT NULL, "include" BOOLEAN NOT NULL DEFAULT true, "user_id" INTEGER, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "workspace_chats_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "workspace_users" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "user_id" INTEGER NOT NULL, "workspace_id" INTEGER NOT NULL, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "workspace_users_workspace_id_fkey" FOREIGN KEY ("workspace_id") REFERENCES "workspaces" ("id") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "workspace_users_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateIndex CREATE UNIQUE INDEX "api_keys_secret_key" ON "api_keys"("secret"); -- CreateIndex CREATE UNIQUE INDEX "workspace_documents_docId_key" ON "workspace_documents"("docId"); -- CreateIndex CREATE UNIQUE INDEX "invites_code_key" ON "invites"("code"); -- CreateIndex CREATE UNIQUE INDEX "system_settings_label_key" ON "system_settings"("label"); -- CreateIndex CREATE UNIQUE INDEX "users_username_key" ON "users"("username"); -- CreateIndex CREATE UNIQUE INDEX "workspaces_slug_key" ON "workspaces"("slug");