187 lines
5.2 KiB
SQL
187 lines
5.2 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "appeals" (
|
|
"approved" BOOLEAN,
|
|
"ban_reason" TEXT NOT NULL,
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"learned" TEXT NOT NULL,
|
|
"reason_for_unban" TEXT NOT NULL,
|
|
"user" JSONB NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "appeal_bans" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_by" TEXT NOT NULL,
|
|
"user" TEXT NOT NULL PRIMARY KEY
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "et_members" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_by" TEXT NOT NULL,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"is_management" BOOLEAN NOT NULL DEFAULT false,
|
|
"name" TEXT NOT NULL,
|
|
"points" INTEGER NOT NULL DEFAULT 0,
|
|
"roblox_id" INTEGER
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "et_strikes" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_by" TEXT NOT NULL,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"reason" TEXT NOT NULL,
|
|
"user" TEXT NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "events" (
|
|
"answer" TEXT,
|
|
"answered_at" DATETIME,
|
|
"approved" BOOLEAN NOT NULL DEFAULT false,
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_by" TEXT NOT NULL,
|
|
"day" INTEGER NOT NULL,
|
|
"details" TEXT NOT NULL,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"month" INTEGER NOT NULL,
|
|
"pending" BOOLEAN NOT NULL DEFAULT true,
|
|
"performed_at" DATETIME,
|
|
"reached_minimum_player_count" BOOLEAN NOT NULL DEFAULT false,
|
|
"type" TEXT NOT NULL,
|
|
"year" INTEGER NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "game_appeals" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"reason_for_unban" TEXT NOT NULL,
|
|
"roblox_id" INTEGER NOT NULL,
|
|
"roblox_username" TEXT NOT NULL,
|
|
"type" TEXT NOT NULL,
|
|
"what_happened" TEXT NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "game_mod_logs" (
|
|
"action" TEXT NOT NULL,
|
|
"evidence" TEXT NOT NULL,
|
|
"executed_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"executor" TEXT NOT NULL,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"target" INTEGER NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "game_mod_notes" (
|
|
"content" TEXT NOT NULL,
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_by" TEXT NOT NULL,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"target" INTEGER NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "inactivity_notices" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"decisions" JSONB NOT NULL,
|
|
"departments" JSONB NOT NULL DEFAULT [],
|
|
"end" TEXT NOT NULL,
|
|
"hiatus" BOOLEAN NOT NULL DEFAULT false,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"reason" TEXT NOT NULL,
|
|
"start" TEXT NOT NULL,
|
|
"user" JSONB NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "push_notifications" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"event_id" TEXT NOT NULL,
|
|
"event_type" TEXT NOT NULL,
|
|
"token" TEXT NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "reports" (
|
|
"attachments" JSONB NOT NULL DEFAULT [],
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"open" BOOLEAN NOT NULL DEFAULT true,
|
|
"target_ids" JSONB NOT NULL DEFAULT [],
|
|
"target_usernames" JSONB NOT NULL DEFAULT [],
|
|
"type" TEXT NOT NULL DEFAULT 'exploit',
|
|
"user" JSONB
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "short_links" (
|
|
"created_at" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"destination" TEXT NOT NULL,
|
|
"path" TEXT NOT NULL PRIMARY KEY,
|
|
"user" TEXT NOT NULL
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "appeals_id_key" ON "appeals"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_appeals_approved_created_at" ON "appeals"("approved", "created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "appeal_bans_user_key" ON "appeal_bans"("user");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "et_members_id_key" ON "et_members"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_et_members_id_name" ON "et_members"("id", "name");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "et_strikes_id_key" ON "et_strikes"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "events_id_key" ON "events"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_events_month_year" ON "events"("month", "year");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "game_appeals_id_key" ON "game_appeals"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_game_appeals_created_at" ON "game_appeals"("created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "game_mod_logs_id_key" ON "game_mod_logs"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_game_mod_logs_target" ON "game_mod_logs"("target");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "game_mod_notes_id_key" ON "game_mod_notes"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_game_mod_notes_target" ON "game_mod_notes"("target");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "inactivity_notices_id_key" ON "inactivity_notices"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_inactivity_notices_end_start" ON "inactivity_notices"("end", "start");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "push_notifications_event_id_key" ON "push_notifications"("event_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "reports_id_key" ON "reports"("id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "idx_reports_created_at_open" ON "reports"("created_at", "open");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "short_links_path_key" ON "short_links"("path");
|