- Split admin users page into player/tier-1/tier-2 tabs with affiliation labels and context-specific create dialogs - Add media library with uploaded_files migration, list/delete unused files API, and admin nav route - Enforce player username format (alphanumeric 3-32) on frontend and backend via shared package - Improve admin dialog/panel styling; refine player parlay and match bet card kickoff display Co-authored-by: Cursor <cursoragent@cursor.com>
20 lines
581 B
SQL
20 lines
581 B
SQL
-- CreateTable
|
|
CREATE TABLE "uploaded_files" (
|
|
"id" TEXT NOT NULL,
|
|
"filename" TEXT NOT NULL,
|
|
"category" VARCHAR(32) NOT NULL,
|
|
"mime_type" VARCHAR(64) NOT NULL,
|
|
"size" INTEGER NOT NULL,
|
|
"url" VARCHAR(500) NOT NULL,
|
|
"uploaded_by" BIGINT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "uploaded_files_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "uploaded_files_filename_key" ON "uploaded_files"("filename");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "uploaded_files_category_idx" ON "uploaded_files"("category");
|