From 9582b55d3818bfc0a96cfc49f978811cdf5385a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yusuf=20Akg=C3=BCl?= <s86116@bht-berlin.de> Date: Wed, 12 Jul 2023 00:36:20 +0200 Subject: [PATCH] prisma update and typing and small games list fix --- app/api/gweets/route.ts | 3 +- app/api/users/favgameslist/route.ts | 2 +- components/profile/components/user-games.tsx | 13 +++---- package-lock.json | 39 ++++++++++---------- package.json | 4 +- 5 files changed, 29 insertions(+), 32 deletions(-) diff --git a/app/api/gweets/route.ts b/app/api/gweets/route.ts index 308e27a..df7ee5c 100644 --- a/app/api/gweets/route.ts +++ b/app/api/gweets/route.ts @@ -2,6 +2,7 @@ import { NextResponse } from "next/server" import { z } from "zod" import { db } from "@/lib/db" +import { MediaTypes } from "@prisma/client" import { utapi } from "uploadthing/server" /** @@ -264,7 +265,7 @@ export async function DELETE(request: Request) { }) if (checkMedia.length > 0) { - await utapi.deleteFiles(checkMedia.map((media) => media.key)) + await utapi.deleteFiles(checkMedia.map((media: { id: string; url: string; key: string; type: MediaTypes; gweetId: string }) => media.key)) } await db.gweet.delete({ diff --git a/app/api/users/favgameslist/route.ts b/app/api/users/favgameslist/route.ts index 67bd79f..651dc09 100644 --- a/app/api/users/favgameslist/route.ts +++ b/app/api/users/favgameslist/route.ts @@ -42,7 +42,7 @@ export async function PUT(req: NextRequest) { }, data: { favGameList: { - set: user?.favGameList.filter((id) => id !== data.gameId), + set: user?.favGameList.filter((id: number) => id !== data.gameId), } } }) diff --git a/components/profile/components/user-games.tsx b/components/profile/components/user-games.tsx index 38d425b..33d683c 100644 --- a/components/profile/components/user-games.tsx +++ b/components/profile/components/user-games.tsx @@ -1,13 +1,10 @@ import GameItem from "@/components/game-item" import { db } from "@/lib/db" import { getFavoriteGames } from "@/lib/igdb" -import { getCurrentUser } from "@/lib/session" import { IGame } from "@/types/igdb-types" import { redirect } from "next/navigation" export const UserGames = async ({ username }: { username: string }) => { - const user = await getCurrentUser() - const fullUser = await db.user.findFirst({ where: { username: username @@ -38,7 +35,7 @@ export const UserGames = async ({ username }: { username: string }) => { finishedGames = fetchedGames.filter(game => fullUser.finishedGameList.includes(game.id)) planningGames = fetchedGames.filter(game => fullUser.planningGameList.includes(game.id)) } - + console.log(favoritegames) // Old Implementation // if (fullUser?.favGameList?.length !== 0 && fullUser?.favGameList?.length != undefined) { // favoritegames = await getFavoriteGames(fullUser?.favGameList!) @@ -57,7 +54,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div className="p-3 space-y-12"> <div> <h1 className="text-2xl font-bold pb-3">Favorite Games</h1> - {favoritegames ? + {favoritegames && favoritegames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {favoritegames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> @@ -70,7 +67,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div> <h1 className="text-2xl font-bold pb-3">Currently playing</h1> - {playingGames ? + {playingGames && playingGames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {playingGames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> @@ -83,7 +80,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div> <h1 className="text-2xl font-bold pb-3">Planning to play</h1> - {planningGames ? + {planningGames && planningGames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {planningGames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> @@ -95,7 +92,7 @@ export const UserGames = async ({ username }: { username: string }) => { <div> <h1 className="text-2xl font-bold pb-3">Finished Games</h1> - {finishedGames ? + {finishedGames && finishedGames.length > 0 ? <div className="grid grid-cols-1 ss:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5 gap-4 lg:gap-8 items-center"> {finishedGames.map((game: IGame) => ( <GameItem id={game.id} name={game.name} cover={game.cover} key={game.id} /> diff --git a/package-lock.json b/package-lock.json index 8ec129f..6683de5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@auth/prisma-adapter": "^1.0.1", "@hookform/resolvers": "^3.1.1", - "@prisma/client": "^4.16.2", + "@prisma/client": "^5.0.0", "@radix-ui/react-alert-dialog": "^1.0.4", "@radix-ui/react-aspect-ratio": "^1.0.3", "@radix-ui/react-avatar": "^1.0.3", @@ -69,7 +69,7 @@ "jest": "^29.6.1", "jest-environment-jsdom": "^29.6.1", "postcss": "8.4.25", - "prisma": "^4.16.2", + "prisma": "^5.0.0", "tailwindcss": "3.3.2", "typescript": "^5.1.6" } @@ -1692,15 +1692,15 @@ } }, "node_modules/@prisma/client": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.16.2.tgz", - "integrity": "sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.0.0.tgz", + "integrity": "sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" + "@prisma/engines-version": "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584" }, "engines": { - "node": ">=14.17" + "node": ">=16.13" }, "peerDependencies": { "prisma": "*" @@ -1712,16 +1712,16 @@ } }, "node_modules/@prisma/engines": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.16.2.tgz", - "integrity": "sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.0.0.tgz", + "integrity": "sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==", "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81.tgz", - "integrity": "sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==" + "version": "4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584.tgz", + "integrity": "sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ==" }, "node_modules/@radix-ui/number": { "version": "1.0.1", @@ -9973,20 +9973,19 @@ } }, "node_modules/prisma": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.16.2.tgz", - "integrity": "sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.0.0.tgz", + "integrity": "sha512-KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA==", "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "4.16.2" + "@prisma/engines": "5.0.0" }, "bin": { - "prisma": "build/index.js", - "prisma2": "build/index.js" + "prisma": "build/index.js" }, "engines": { - "node": ">=14.17" + "node": ">=16.13" } }, "node_modules/prismjs": { diff --git a/package.json b/package.json index a7d6156..d627cee 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dependencies": { "@auth/prisma-adapter": "^1.0.1", "@hookform/resolvers": "^3.1.1", - "@prisma/client": "^4.16.2", + "@prisma/client": "^5.0.0", "@radix-ui/react-alert-dialog": "^1.0.4", "@radix-ui/react-aspect-ratio": "^1.0.3", "@radix-ui/react-avatar": "^1.0.3", @@ -74,7 +74,7 @@ "jest": "^29.6.1", "jest-environment-jsdom": "^29.6.1", "postcss": "8.4.25", - "prisma": "^4.16.2", + "prisma": "^5.0.0", "tailwindcss": "3.3.2", "typescript": "^5.1.6" }, -- GitLab