cal.pub0.org/packages/prisma/migrations/20230920175742_add_oauth_model/migration.sql

39 lines
1.2 KiB
SQL

-- CreateEnum
CREATE TYPE "AccessScope" AS ENUM ('READ_BOOKING', 'READ_PROFILE');
-- CreateTable
CREATE TABLE "OAuthClient" (
"clientId" TEXT NOT NULL,
"redirectUri" TEXT NOT NULL,
"clientSecret" TEXT NOT NULL,
"name" TEXT NOT NULL,
"logo" TEXT,
CONSTRAINT "OAuthClient_pkey" PRIMARY KEY ("clientId")
);
-- CreateTable
CREATE TABLE "AccessCode" (
"id" SERIAL NOT NULL,
"code" TEXT NOT NULL,
"clientId" TEXT,
"expiresAt" TIMESTAMP(3) NOT NULL,
"scopes" "AccessScope"[],
"userId" INTEGER,
"teamId" INTEGER,
CONSTRAINT "AccessCode_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "OAuthClient_clientId_key" ON "OAuthClient"("clientId");
-- AddForeignKey
ALTER TABLE "AccessCode" ADD CONSTRAINT "AccessCode_clientId_fkey" FOREIGN KEY ("clientId") REFERENCES "OAuthClient"("clientId") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "AccessCode" ADD CONSTRAINT "AccessCode_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "AccessCode" ADD CONSTRAINT "AccessCode_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;