Skip to content

Commit

Permalink
Start user authentication implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
bombies committed Oct 25, 2023
1 parent fb2d533 commit 895e9f9
Show file tree
Hide file tree
Showing 37 changed files with 2,254 additions and 104 deletions.
759 changes: 745 additions & 14 deletions package-lock.json

Large diffs are not rendered by default.

14 changes: 13 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,35 @@
},
"dependencies": {
"@nextui-org/react": "^2.1.13",
"@prisma/client": "^5.5.0",
"@theinternetfolks/snowflake": "^1.3.0",
"@uidotdev/usehooks": "^2.4.1",
"axios": "^1.5.1",
"bcrypt": "^5.1.1",
"framer-motion": "^10.16.4",
"next": "13.5.6",
"next-auth": "^4.24.3",
"next-nprogress-bar": "^2.1.2",
"next-themes": "^0.2.1",
"react": "^18",
"react-dom": "^18",
"react-hook-form": "^7.47.0",
"react-hot-toast": "^2.4.1",
"sass": "^1.69.4",
"swr": "^2.2.4"
"swr": "^2.2.4",
"zod": "^3.22.4"
},
"devDependencies": {
"@next-auth/prisma-adapter": "^1.0.7",
"@types/bcrypt": "^5.0.1",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
"autoprefixer": "^10",
"eslint": "^8",
"eslint-config-next": "13.5.6",
"postcss": "^8",
"prisma": "^5.5.0",
"tailwindcss": "^3",
"typescript": "^5"
}
Expand Down
147 changes: 147 additions & 0 deletions prisma/migrations/20231024155554_init/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
-- CreateTable
CREATE TABLE "User" (
"id" SERIAL NOT NULL,
"username" TEXT NOT NULL,
"firstName" TEXT NOT NULL,
"lastName" TEXT NOT NULL,
"email" TEXT NOT NULL,
"password" TEXT NOT NULL,
"avatar" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,

CONSTRAINT "User_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "FriendRequest" (
"id" SERIAL NOT NULL,
"senderId" INTEGER NOT NULL,
"reveiverId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,

CONSTRAINT "FriendRequest_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "UserProfile" (
"id" SERIAL NOT NULL,
"bio" TEXT,
"userId" INTEGER NOT NULL,

CONSTRAINT "UserProfile_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "Dream" (
"id" SERIAL NOT NULL,
"title" VARCHAR(500) NOT NULL,
"description" VARCHAR(5000) NOT NULL,
"comments" VARCHAR(1000),
"userId" INTEGER NOT NULL,

CONSTRAINT "Dream_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "DreamTag" (
"id" SERIAL NOT NULL,
"tag" VARCHAR(64) NOT NULL,
"userId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,

CONSTRAINT "DreamTag_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "DreamCharacter" (
"id" SERIAL NOT NULL,
"name" VARCHAR(256) NOT NULL,
"userId" INTEGER NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,

CONSTRAINT "DreamCharacter_pkey" PRIMARY KEY ("id")
);

-- CreateTable
CREATE TABLE "_UserFriends" (
"A" INTEGER NOT NULL,
"B" INTEGER NOT NULL
);

-- CreateTable
CREATE TABLE "_DreamToDreamTag" (
"A" INTEGER NOT NULL,
"B" INTEGER NOT NULL
);

-- CreateTable
CREATE TABLE "_DreamToDreamCharacter" (
"A" INTEGER NOT NULL,
"B" INTEGER NOT NULL
);

-- CreateIndex
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");

-- CreateIndex
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");

-- CreateIndex
CREATE UNIQUE INDEX "UserProfile_userId_key" ON "UserProfile"("userId");

-- CreateIndex
CREATE UNIQUE INDEX "_UserFriends_AB_unique" ON "_UserFriends"("A", "B");

-- CreateIndex
CREATE INDEX "_UserFriends_B_index" ON "_UserFriends"("B");

-- CreateIndex
CREATE UNIQUE INDEX "_DreamToDreamTag_AB_unique" ON "_DreamToDreamTag"("A", "B");

-- CreateIndex
CREATE INDEX "_DreamToDreamTag_B_index" ON "_DreamToDreamTag"("B");

-- CreateIndex
CREATE UNIQUE INDEX "_DreamToDreamCharacter_AB_unique" ON "_DreamToDreamCharacter"("A", "B");

-- CreateIndex
CREATE INDEX "_DreamToDreamCharacter_B_index" ON "_DreamToDreamCharacter"("B");

-- AddForeignKey
ALTER TABLE "FriendRequest" ADD CONSTRAINT "FriendRequest_senderId_fkey" FOREIGN KEY ("senderId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "FriendRequest" ADD CONSTRAINT "FriendRequest_reveiverId_fkey" FOREIGN KEY ("reveiverId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "UserProfile" ADD CONSTRAINT "UserProfile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "Dream" ADD CONSTRAINT "Dream_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "DreamTag" ADD CONSTRAINT "DreamTag_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "DreamCharacter" ADD CONSTRAINT "DreamCharacter_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "_UserFriends" ADD CONSTRAINT "_UserFriends_A_fkey" FOREIGN KEY ("A") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "_UserFriends" ADD CONSTRAINT "_UserFriends_B_fkey" FOREIGN KEY ("B") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "_DreamToDreamTag" ADD CONSTRAINT "_DreamToDreamTag_A_fkey" FOREIGN KEY ("A") REFERENCES "Dream"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "_DreamToDreamTag" ADD CONSTRAINT "_DreamToDreamTag_B_fkey" FOREIGN KEY ("B") REFERENCES "DreamTag"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "_DreamToDreamCharacter" ADD CONSTRAINT "_DreamToDreamCharacter_A_fkey" FOREIGN KEY ("A") REFERENCES "Dream"("id") ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "_DreamToDreamCharacter" ADD CONSTRAINT "_DreamToDreamCharacter_B_fkey" FOREIGN KEY ("B") REFERENCES "DreamCharacter"("id") ON DELETE CASCADE ON UPDATE CASCADE;
2 changes: 2 additions & 0 deletions prisma/migrations/20231024171231_avatar_update/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "User" ALTER COLUMN "avatar" DROP NOT NULL;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "User" ALTER COLUMN "password" DROP NOT NULL;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-- CreateEnum
CREATE TYPE "AccountProvider" AS ENUM ('GOOGLE');

-- AlterTable
ALTER TABLE "User" ADD COLUMN "accountProivder" "AccountProvider";
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*
Warnings:
- You are about to drop the column `accountProivder` on the `User` table. All the data in the column will be lost.
*/
-- AlterTable
ALTER TABLE "User" DROP COLUMN "accountProivder",
ADD COLUMN "accountProvider" "AccountProvider";
Loading

0 comments on commit 895e9f9

Please sign in to comment.