From c17947ad0deb92400c67a0af310559b0bf36f548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=A0s?= Date: Wed, 22 Mar 2023 17:14:48 +0100 Subject: [PATCH] Edit user api Remove Delete Add GET by ID Took 16 minutes --- src/pages/api/user/index.ts | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/pages/api/user/index.ts b/src/pages/api/user/index.ts index 598cc3d..40bd6ca 100644 --- a/src/pages/api/user/index.ts +++ b/src/pages/api/user/index.ts @@ -1,6 +1,6 @@ import type {NextApiRequest, NextApiResponse} from 'next'; import CRUD from '@/utils/CRUD'; -import {CreateUserQuery, DeleteUserQuery} from '@/models/api/user'; +import {CreateUserQuery} from '@/models/api/user'; import {PrismaClient} from '@prisma/client'; export default function handler( @@ -10,8 +10,7 @@ export default function handler( switch (req.method) { case CRUD.CREATE: return createUser(req, res); case CRUD.READ: return readUser(req, res); - // case CRUD.UPDATE: return updateUser(req, res); - case CRUD.DELETE: return deleteUser(req, res); + // case CRUD.DELETE: return deleteUser(req, res); default: return help(res); } } @@ -29,22 +28,17 @@ async function createUser(req: NextApiRequest, res: NextApiResponse) { return res.status(400).send({message: req.body}); const newUser = await prisma.user.create({ - data: {email, password, firstName, lastName}, + data: {...req.body}, }); return res.status(201).send({message: 'createUser', newUser}); } -async function deleteUser(req: NextApiRequest, res: NextApiResponse) { - const {id} = req.query as DeleteUserQuery; - if (!id) return res.status(400).send({message: 'error'}); - const deletedUser = await prisma.user.delete({ - where: {id}, - }); - return res.status(200).send({message: 'deleteUser', deletedUser}); -} async function readUser(req: NextApiRequest, res: NextApiResponse) { - const users = await prisma.user.findMany(); + const user = (req.query.id) + ? await prisma.user.findUnique({where: {id: req.query.id}}) + : await prisma.user.findMany() + ; - return res.status(200).send({message: 'readUser', users}); + return res.status(200).send({message: 'readUser', user}); } \ No newline at end of file