mirror of
https://github.com/LucasVbr/meeting-app.git
synced 2026-05-13 17:21:53 +00:00
Edit user api
Remove Delete Add GET by ID Took 16 minutes
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import type {NextApiRequest, NextApiResponse} from 'next';
|
import type {NextApiRequest, NextApiResponse} from 'next';
|
||||||
import CRUD from '@/utils/CRUD';
|
import CRUD from '@/utils/CRUD';
|
||||||
import {CreateUserQuery, DeleteUserQuery} from '@/models/api/user';
|
import {CreateUserQuery} from '@/models/api/user';
|
||||||
import {PrismaClient} from '@prisma/client';
|
import {PrismaClient} from '@prisma/client';
|
||||||
|
|
||||||
export default function handler(
|
export default function handler(
|
||||||
@@ -10,8 +10,7 @@ export default function handler(
|
|||||||
switch (req.method) {
|
switch (req.method) {
|
||||||
case CRUD.CREATE: return createUser(req, res);
|
case CRUD.CREATE: return createUser(req, res);
|
||||||
case CRUD.READ: return readUser(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);
|
default: return help(res);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -29,22 +28,17 @@ async function createUser(req: NextApiRequest, res: NextApiResponse) {
|
|||||||
return res.status(400).send({message: req.body});
|
return res.status(400).send({message: req.body});
|
||||||
|
|
||||||
const newUser = await prisma.user.create({
|
const newUser = await prisma.user.create({
|
||||||
data: {email, password, firstName, lastName},
|
data: {...req.body},
|
||||||
});
|
});
|
||||||
|
|
||||||
return res.status(201).send({message: 'createUser', newUser});
|
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) {
|
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});
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user