feat(server): copilot job models (#10732)

This commit is contained in:
darkskygit
2025-03-19 14:34:14 +00:00
parent dd31ef95db
commit b099546164
8 changed files with 372 additions and 5 deletions
@@ -0,0 +1,29 @@
-- CreateEnum
CREATE TYPE "AiJobStatus" AS ENUM ('pending', 'running', 'finished', 'claimed', 'failed');
-- CreateEnum
CREATE TYPE "AiJobType" AS ENUM ('transcription');
-- CreateTable
CREATE TABLE "ai_jobs" (
"id" VARCHAR NOT NULL,
"workspace_id" VARCHAR NOT NULL,
"blob_id" VARCHAR NOT NULL,
"created_by" VARCHAR,
"type" "AiJobType" NOT NULL,
"status" "AiJobStatus" NOT NULL DEFAULT 'pending',
"payload" JSON NOT NULL,
"started_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"finished_at" TIMESTAMPTZ(3),
CONSTRAINT "ai_jobs_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "ai_jobs_created_by_workspace_id_blob_id_idx" ON "ai_jobs"("created_by", "workspace_id", "blob_id");
-- CreateIndex
CREATE UNIQUE INDEX "ai_jobs_workspace_id_blob_id_key" ON "ai_jobs"("workspace_id", "blob_id");
-- AddForeignKey
ALTER TABLE "ai_jobs" ADD CONSTRAINT "ai_jobs_created_by_fkey" FOREIGN KEY ("created_by") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE;