From 339b651dfc93631746c6bb6e0df4d5686aac48da Mon Sep 17 00:00:00 2001 From: Sonny Date: Sun, 8 May 2022 23:34:58 +0200 Subject: [PATCH] fix: Too many prisma client created --- pages/api/auth/[...nextauth].ts | 1 + pages/api/category/create.ts | 4 +--- pages/api/category/edit/[cid].ts | 4 +--- pages/api/category/remove/[cid].ts | 4 +--- pages/api/link/create.ts | 4 +--- pages/api/link/edit/[lid].ts | 4 +--- pages/api/link/remove/[lid].ts | 4 +--- pages/category/edit/[cid].tsx | 3 +-- pages/category/remove/[cid].tsx | 3 +-- pages/index.tsx | 6 ++---- pages/link/create.tsx | 3 +-- pages/link/edit/[lid].tsx | 3 +-- pages/link/remove/[lid].tsx | 3 +-- utils/back.ts | 3 +++ 14 files changed, 17 insertions(+), 32 deletions(-) create mode 100644 utils/back.ts diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts index f884317..4a78b22 100644 --- a/pages/api/auth/[...nextauth].ts +++ b/pages/api/auth/[...nextauth].ts @@ -20,6 +20,7 @@ export default NextAuth({ ], callbacks: { async signIn({ account: accountParam, profile }) { // TODO: Auth + console.log('Connexion via', accountParam.provider, accountParam.providerAccountId, profile.email, profile.name) if (accountParam.provider !== 'google') { return '/signin?error=' + encodeURI('Authentitifcation via Google requise'); } diff --git a/pages/api/category/create.ts b/pages/api/category/create.ts index 9ed915a..e761cc3 100644 --- a/pages/api/category/create.ts +++ b/pages/api/category/create.ts @@ -1,7 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; - -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../utils/back'; export default async function handler(req: NextApiRequest, res: NextApiResponse) { const name = req.body?.name as string; diff --git a/pages/api/category/edit/[cid].ts b/pages/api/category/edit/[cid].ts index 8499fef..5cd0ec3 100644 --- a/pages/api/category/edit/[cid].ts +++ b/pages/api/category/edit/[cid].ts @@ -1,7 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; - -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../../utils/back'; export default async function handler(req: NextApiRequest, res: NextApiResponse) { const { cid } = req.query; diff --git a/pages/api/category/remove/[cid].ts b/pages/api/category/remove/[cid].ts index 4ea571a..7d0af15 100644 --- a/pages/api/category/remove/[cid].ts +++ b/pages/api/category/remove/[cid].ts @@ -1,7 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; - -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../../utils/back'; export default async function handler(req: NextApiRequest, res: NextApiResponse) { const { cid } = req.query; diff --git a/pages/api/link/create.ts b/pages/api/link/create.ts index 26e6b7c..7e50891 100644 --- a/pages/api/link/create.ts +++ b/pages/api/link/create.ts @@ -1,7 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; - -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../utils/back'; export default async function handler(req: NextApiRequest, res: NextApiResponse) { const name = req.body?.name as string; diff --git a/pages/api/link/edit/[lid].ts b/pages/api/link/edit/[lid].ts index 3bab8c7..448b86e 100644 --- a/pages/api/link/edit/[lid].ts +++ b/pages/api/link/edit/[lid].ts @@ -1,7 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; - -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../../utils/back'; // TODO: Ajouter vérification -> l'utilisateur doit changer au moins un champ export default async function handler(req: NextApiRequest, res: NextApiResponse) { diff --git a/pages/api/link/remove/[lid].ts b/pages/api/link/remove/[lid].ts index 0754566..f286da5 100644 --- a/pages/api/link/remove/[lid].ts +++ b/pages/api/link/remove/[lid].ts @@ -1,7 +1,5 @@ import { NextApiRequest, NextApiResponse } from 'next'; - -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../../utils/back'; export default async function handler(req: NextApiRequest, res: NextApiResponse) { const { lid } = req.query; diff --git a/pages/category/edit/[cid].tsx b/pages/category/edit/[cid].tsx index 831d6d1..205f44d 100644 --- a/pages/category/edit/[cid].tsx +++ b/pages/category/edit/[cid].tsx @@ -14,8 +14,7 @@ import styles from '../../../styles/create.module.scss'; import { Category } from '../../../types'; import { BuildCategory, HandleAxiosError } from '../../../utils/front'; -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../utils/back'; function EditCategory({ category }: { category: Category; }) { const [name, setName] = useState(category.name); diff --git a/pages/category/remove/[cid].tsx b/pages/category/remove/[cid].tsx index 97213b9..4df260e 100644 --- a/pages/category/remove/[cid].tsx +++ b/pages/category/remove/[cid].tsx @@ -14,8 +14,7 @@ import styles from '../../../styles/create.module.scss'; import { Category } from '../../../types'; import { BuildCategory, HandleAxiosError } from '../../../utils/front'; -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../utils/back'; function RemoveCategory({ category }: { category: Category; }) { const [canSubmit, setCanSubmit] = useState(false); diff --git a/pages/index.tsx b/pages/index.tsx index 9dd85ac..1989090 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -3,15 +3,13 @@ import { useSession } from 'next-auth/react'; import Head from 'next/head'; import Menu from '../components/Categories/SideMenu'; +import Links from '../components/Links/Links'; import { Category, Link } from '../types'; -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); - import { BuildCategory } from '../utils/front'; +import { prisma } from '../utils/back'; -import Links from '../components/Links/Links'; interface HomeProps { categories: Category[]; diff --git a/pages/link/create.tsx b/pages/link/create.tsx index 6534962..36536e2 100644 --- a/pages/link/create.tsx +++ b/pages/link/create.tsx @@ -13,8 +13,7 @@ import styles from '../../styles/create.module.scss'; import { Category } from '../../types'; import { BuildCategory, HandleAxiosError, IsValidURL } from '../../utils/front'; -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../utils/back'; function CreateLink({ categories }: { categories: Category[]; }) { const [name, setName] = useState(''); diff --git a/pages/link/edit/[lid].tsx b/pages/link/edit/[lid].tsx index 2eba22b..b26f9ef 100644 --- a/pages/link/edit/[lid].tsx +++ b/pages/link/edit/[lid].tsx @@ -13,8 +13,7 @@ import styles from '../../../styles/create.module.scss'; import { Category, Link } from '../../../types'; import { BuildCategory, BuildLink, HandleAxiosError, IsValidURL } from '../../../utils/front'; -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../utils/back'; function EditLink({ link, categories }: { link: Link; categories: Category[]; }) { const [name, setName] = useState(link.name); diff --git a/pages/link/remove/[lid].tsx b/pages/link/remove/[lid].tsx index ef4edaf..5107b9f 100644 --- a/pages/link/remove/[lid].tsx +++ b/pages/link/remove/[lid].tsx @@ -15,8 +15,7 @@ import styles from '../../../styles/create.module.scss'; import { Link } from '../../../types'; import { BuildLink, HandleAxiosError } from '../../../utils/front'; -import { PrismaClient } from '@prisma/client'; -const prisma = new PrismaClient(); +import { prisma } from '../../../utils/back'; function RemoveLink({ link }: { link: Link; }) { diff --git a/utils/back.ts b/utils/back.ts new file mode 100644 index 0000000..fbb7b51 --- /dev/null +++ b/utils/back.ts @@ -0,0 +1,3 @@ +import { PrismaClient } from '@prisma/client'; + +export const prisma = new PrismaClient(); \ No newline at end of file