init studio admin backend

This commit is contained in:
2026-07-01 17:30:04 +09:00
commit 4437d9980d
144 changed files with 44964 additions and 0 deletions
@@ -0,0 +1,36 @@
CREATE TABLE "admin_ssh_keys" (
"id" UUID NOT NULL,
"admin_id" UUID NOT NULL,
"label" TEXT,
"key_type" TEXT NOT NULL,
"public_key" TEXT NOT NULL,
"public_key_hash" TEXT NOT NULL,
"fingerprint" TEXT NOT NULL,
"gitea_username" TEXT,
"gitea_key_id" INTEGER,
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(3) NOT NULL,
CONSTRAINT "admin_ssh_keys_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "admin_ssh_keys_public_key_hash_key" ON "admin_ssh_keys"("public_key_hash");
CREATE INDEX "admin_ssh_keys_admin_id_created_at_idx" ON "admin_ssh_keys"("admin_id", "created_at");
CREATE INDEX "admin_ssh_keys_gitea_username_idx" ON "admin_ssh_keys"("gitea_username");
ALTER TABLE "admin_ssh_keys"
ADD CONSTRAINT "admin_ssh_keys_admin_id_fkey"
FOREIGN KEY ("admin_id") REFERENCES "admins"("id") ON DELETE CASCADE ON UPDATE CASCADE;
COMMENT ON TABLE "admin_ssh_keys" IS '관리자 계정별 Gitea SSH 공개키 등록 정보';
COMMENT ON COLUMN "admin_ssh_keys"."id" IS '관리자 SSH 키 고유 ID';
COMMENT ON COLUMN "admin_ssh_keys"."admin_id" IS 'SSH 키를 소유한 관리자 ID';
COMMENT ON COLUMN "admin_ssh_keys"."label" IS 'SSH 키 표시명';
COMMENT ON COLUMN "admin_ssh_keys"."key_type" IS 'SSH 공개키 타입';
COMMENT ON COLUMN "admin_ssh_keys"."public_key" IS 'SSH 공개키 원문';
COMMENT ON COLUMN "admin_ssh_keys"."public_key_hash" IS 'SSH 공개키 중복 방지용 해시';
COMMENT ON COLUMN "admin_ssh_keys"."fingerprint" IS 'SSH 공개키 SHA256 fingerprint';
COMMENT ON COLUMN "admin_ssh_keys"."gitea_username" IS '키를 등록할 Gitea 사용자명';
COMMENT ON COLUMN "admin_ssh_keys"."gitea_key_id" IS 'Gitea에 등록된 SSH key ID';
COMMENT ON COLUMN "admin_ssh_keys"."created_at" IS '생성 시각';
COMMENT ON COLUMN "admin_ssh_keys"."updated_at" IS '수정 시각';