* refactor: removed unused files, dependencies and added valid callback URL * chore: update env example * test: fixed issue with subscription on deleteUserCollection in UserCollection module * test: fixed time related issue with auth service methods * chore: removed unused dependencies in auth.service file --------- Co-authored-by: Mir Arif Hasan <arif.ishan05@gmail.com> Co-authored-by: Balu Babu <balub997@gmail.com>
271 lines
8.6 KiB
SQL
271 lines
8.6 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "ReqType" AS ENUM ('REST', 'GQL');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "TeamMemberRole" AS ENUM ('OWNER', 'VIEWER', 'EDITOR');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Team" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "Team_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TeamMember" (
|
|
"id" TEXT NOT NULL,
|
|
"role" "TeamMemberRole" NOT NULL,
|
|
"userUid" TEXT NOT NULL,
|
|
"teamID" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "TeamMember_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TeamInvitation" (
|
|
"id" TEXT NOT NULL,
|
|
"teamID" TEXT NOT NULL,
|
|
"creatorUid" TEXT NOT NULL,
|
|
"inviteeEmail" TEXT NOT NULL,
|
|
"inviteeRole" "TeamMemberRole" NOT NULL,
|
|
|
|
CONSTRAINT "TeamInvitation_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TeamCollection" (
|
|
"id" TEXT NOT NULL,
|
|
"parentID" TEXT,
|
|
"teamID" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"orderIndex" INTEGER NOT NULL,
|
|
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedOn" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "TeamCollection_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TeamRequest" (
|
|
"id" TEXT NOT NULL,
|
|
"collectionID" TEXT NOT NULL,
|
|
"teamID" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"request" JSONB NOT NULL,
|
|
"orderIndex" INTEGER NOT NULL,
|
|
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedOn" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "TeamRequest_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Shortcode" (
|
|
"id" TEXT NOT NULL,
|
|
"request" JSONB NOT NULL,
|
|
"creatorUid" TEXT,
|
|
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "Shortcode_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TeamEnvironment" (
|
|
"id" TEXT NOT NULL,
|
|
"teamID" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"variables" JSONB NOT NULL,
|
|
|
|
CONSTRAINT "TeamEnvironment_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "User" (
|
|
"uid" TEXT NOT NULL,
|
|
"displayName" TEXT,
|
|
"email" TEXT,
|
|
"photoURL" TEXT,
|
|
"isAdmin" BOOLEAN NOT NULL DEFAULT false,
|
|
"refreshToken" TEXT,
|
|
"currentRESTSession" JSONB,
|
|
"currentGQLSession" JSONB,
|
|
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "User_pkey" PRIMARY KEY ("uid")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Account" (
|
|
"id" TEXT NOT NULL,
|
|
"userId" TEXT NOT NULL,
|
|
"provider" TEXT NOT NULL,
|
|
"providerAccountId" TEXT NOT NULL,
|
|
"providerRefreshToken" TEXT,
|
|
"providerAccessToken" TEXT,
|
|
"providerScope" TEXT,
|
|
"loggedIn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "Account_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "VerificationToken" (
|
|
"deviceIdentifier" TEXT NOT NULL,
|
|
"token" TEXT NOT NULL,
|
|
"userUid" TEXT NOT NULL,
|
|
"expiresOn" TIMESTAMP(3) NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "UserSettings" (
|
|
"id" TEXT NOT NULL,
|
|
"userUid" TEXT NOT NULL,
|
|
"properties" JSONB NOT NULL,
|
|
"updatedOn" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "UserSettings_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "UserHistory" (
|
|
"id" TEXT NOT NULL,
|
|
"userUid" TEXT NOT NULL,
|
|
"reqType" "ReqType" NOT NULL,
|
|
"request" JSONB NOT NULL,
|
|
"responseMetadata" JSONB NOT NULL,
|
|
"isStarred" BOOLEAN NOT NULL,
|
|
"executedOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "UserHistory_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "UserEnvironment" (
|
|
"id" TEXT NOT NULL,
|
|
"userUid" TEXT NOT NULL,
|
|
"name" TEXT,
|
|
"variables" JSONB NOT NULL,
|
|
"isGlobal" BOOLEAN NOT NULL,
|
|
|
|
CONSTRAINT "UserEnvironment_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "InvitedUsers" (
|
|
"adminUid" TEXT NOT NULL,
|
|
"adminEmail" TEXT NOT NULL,
|
|
"inviteeEmail" TEXT NOT NULL,
|
|
"invitedOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "UserRequest" (
|
|
"id" TEXT NOT NULL,
|
|
"collectionID" TEXT NOT NULL,
|
|
"userUid" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"request" JSONB NOT NULL,
|
|
"type" "ReqType" NOT NULL,
|
|
"orderIndex" INTEGER NOT NULL,
|
|
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedOn" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "UserRequest_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "UserCollection" (
|
|
"id" TEXT NOT NULL,
|
|
"parentID" TEXT,
|
|
"userUid" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"orderIndex" INTEGER NOT NULL,
|
|
"type" "ReqType" NOT NULL,
|
|
"createdOn" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedOn" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "UserCollection_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "TeamMember_teamID_userUid_key" ON "TeamMember"("teamID", "userUid");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "TeamInvitation_teamID_idx" ON "TeamInvitation"("teamID");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "TeamInvitation_teamID_inviteeEmail_key" ON "TeamInvitation"("teamID", "inviteeEmail");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Shortcode_id_creatorUid_key" ON "Shortcode"("id", "creatorUid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Account_provider_providerAccountId_key" ON "Account"("provider", "providerAccountId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "VerificationToken_token_key" ON "VerificationToken"("token");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "VerificationToken_deviceIdentifier_token_key" ON "VerificationToken"("deviceIdentifier", "token");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "UserSettings_userUid_key" ON "UserSettings"("userUid");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "InvitedUsers_inviteeEmail_key" ON "InvitedUsers"("inviteeEmail");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamMember" ADD CONSTRAINT "TeamMember_teamID_fkey" FOREIGN KEY ("teamID") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamInvitation" ADD CONSTRAINT "TeamInvitation_teamID_fkey" FOREIGN KEY ("teamID") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamCollection" ADD CONSTRAINT "TeamCollection_parentID_fkey" FOREIGN KEY ("parentID") REFERENCES "TeamCollection"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamCollection" ADD CONSTRAINT "TeamCollection_teamID_fkey" FOREIGN KEY ("teamID") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamRequest" ADD CONSTRAINT "TeamRequest_collectionID_fkey" FOREIGN KEY ("collectionID") REFERENCES "TeamCollection"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamRequest" ADD CONSTRAINT "TeamRequest_teamID_fkey" FOREIGN KEY ("teamID") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TeamEnvironment" ADD CONSTRAINT "TeamEnvironment_teamID_fkey" FOREIGN KEY ("teamID") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Account" ADD CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "VerificationToken" ADD CONSTRAINT "VerificationToken_userUid_fkey" FOREIGN KEY ("userUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserSettings" ADD CONSTRAINT "UserSettings_userUid_fkey" FOREIGN KEY ("userUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserHistory" ADD CONSTRAINT "UserHistory_userUid_fkey" FOREIGN KEY ("userUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserEnvironment" ADD CONSTRAINT "UserEnvironment_userUid_fkey" FOREIGN KEY ("userUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "InvitedUsers" ADD CONSTRAINT "InvitedUsers_adminUid_fkey" FOREIGN KEY ("adminUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserRequest" ADD CONSTRAINT "UserRequest_collectionID_fkey" FOREIGN KEY ("collectionID") REFERENCES "UserCollection"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserRequest" ADD CONSTRAINT "UserRequest_userUid_fkey" FOREIGN KEY ("userUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserCollection" ADD CONSTRAINT "UserCollection_parentID_fkey" FOREIGN KEY ("parentID") REFERENCES "UserCollection"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "UserCollection" ADD CONSTRAINT "UserCollection_userUid_fkey" FOREIGN KEY ("userUid") REFERENCES "User"("uid") ON DELETE CASCADE ON UPDATE CASCADE;
|