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,15 @@
-- AlterTable: tambah kemampuan admin untuk suspend/ban user (moderasi scam,
-- harassment, TOS violation). Suspended user diblokir sign-in dan dilarang
-- melakukan aksi mutatif. Hard-delete dihindari supaya audit trail terjaga.
ALTER TABLE "User" ADD COLUMN "suspended" BOOLEAN NOT NULL DEFAULT false;
ALTER TABLE "User" ADD COLUMN "suspendedAt" TIMESTAMP(3);
ALTER TABLE "User" ADD COLUMN "suspendedReason" TEXT;
ALTER TABLE "User" ADD COLUMN "suspendedById" TEXT;
-- AddForeignKey: admin yang suspend tetap auditable kalau admin dihapus.
ALTER TABLE "User" ADD CONSTRAINT "User_suspendedById_fkey"
FOREIGN KEY ("suspendedById") REFERENCES "User"("id")
ON DELETE SET NULL ON UPDATE CASCADE;
-- CreateIndex: filter user list admin sering pakai suspended status.
CREATE INDEX "User_suspended_idx" ON "User"("suspended");