admin roadmap filter & search, user management, reopen rejected, system health

This commit is contained in:
2026-05-18 19:45:14 +07:00
parent c52b12daad
commit 6e02f2f0d7
36 changed files with 2013 additions and 339 deletions
@@ -0,0 +1,22 @@
-- CreateEnum
CREATE TYPE "CronRunStatus" AS ENUM ('RUNNING', 'SUCCESS', 'FAILED');
-- CreateTable: log per cron run untuk observability admin. Append-only.
CREATE TABLE "CronRun" (
"id" TEXT NOT NULL,
"jobName" TEXT NOT NULL,
"startedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"finishedAt" TIMESTAMP(3),
"status" "CronRunStatus" NOT NULL DEFAULT 'RUNNING',
"errorMessage" TEXT,
"payload" JSONB,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "CronRun_pkey" PRIMARY KEY ("id")
);
-- CreateIndex: query "last run per job" sering — pakai composite index.
CREATE INDEX "CronRun_jobName_startedAt_idx" ON "CronRun"("jobName", "startedAt" DESC);
-- CreateIndex: query "recent runs across all jobs" untuk admin dashboard.
CREATE INDEX "CronRun_startedAt_idx" ON "CronRun"("startedAt" DESC);