Edit user api

Remove Delete
Add GET by ID

Took 16 minutes
This commit is contained in:
Lucàs
2023-03-22 17:14:48 +01:00
parent 77a295d423
commit c17947ad0d
+8 -14
View File
@@ -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});
}