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