From e54b1e27f355905f1bfa18d819edcee8e1ddd969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luc=C3=A0s?= Date: Mon, 13 Mar 2023 15:49:31 +0100 Subject: [PATCH] Create Read Delete User Took 52 minutes --- src/pages/api/user/createUser.ts | 12 ++++++------ src/pages/api/user/deleteUser.ts | 15 +++++++++++++-- src/pages/api/user/readUser.ts | 9 +++++++-- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/pages/api/user/createUser.ts b/src/pages/api/user/createUser.ts index 53f7e35..633c933 100644 --- a/src/pages/api/user/createUser.ts +++ b/src/pages/api/user/createUser.ts @@ -1,15 +1,15 @@ import {NextApiRequest, NextApiResponse} from 'next'; import { PrismaClient } from '@prisma/client' -const prisma = new PrismaClient(); +export const prisma = new PrismaClient(); export default async function createUser(req: NextApiRequest, res: NextApiResponse) { + const {email, password} = req.query + if (!email || !password) return res.status(400).send({message: "error"}) + const newUser = await prisma.user.create({ - data: { - name: 'Alice', - email: 'alice@prisma.io', - }, + data: {email, password}, }); - return res.status(201).send({message: "createUser"}); // TODO + return res.status(201).send({message: "createUser", newUser}); } \ No newline at end of file diff --git a/src/pages/api/user/deleteUser.ts b/src/pages/api/user/deleteUser.ts index b7c48ad..6431471 100644 --- a/src/pages/api/user/deleteUser.ts +++ b/src/pages/api/user/deleteUser.ts @@ -1,5 +1,16 @@ import {NextApiRequest, NextApiResponse} from 'next'; +import { PrismaClient } from '@prisma/client' -export default function deleteUser(req: NextApiRequest, res: NextApiResponse) { - return res.status(200).send({message: "deleteUser"}); // TODO +export const prisma = new PrismaClient(); + +export default async function deleteUser(req: NextApiRequest, res: NextApiResponse) { + const {id} = req.query + + 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}); } \ No newline at end of file diff --git a/src/pages/api/user/readUser.ts b/src/pages/api/user/readUser.ts index 3ba06df..69b6de7 100644 --- a/src/pages/api/user/readUser.ts +++ b/src/pages/api/user/readUser.ts @@ -1,5 +1,10 @@ import {NextApiRequest, NextApiResponse} from 'next'; +import { PrismaClient } from '@prisma/client' -export default function readUser(req: NextApiRequest, res: NextApiResponse) { - return res.status(200).send({message: "readUser"}); // TODO +export const prisma = new PrismaClient(); + +export default async function readUser(req: NextApiRequest, res: NextApiResponse) { + const users = await prisma.user.findMany() + + return res.status(200).send({message: "readUser", users}); } \ No newline at end of file