From 673e6f90daff8c873267676cd6b9cb461be8e180 Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Sat, 2 Apr 2022 17:58:51 +0200 Subject: [PATCH] Fix orders and pizzas controller --- src/controller/orders.controller.ts | 24 +++++++++++------------- src/controller/pizzas.controller.ts | 9 ++++++--- src/datatypes.ts | 3 ++- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/controller/orders.controller.ts b/src/controller/orders.controller.ts index 89e6c38..164c380 100644 --- a/src/controller/orders.controller.ts +++ b/src/controller/orders.controller.ts @@ -4,23 +4,21 @@ import { DataType } from "../datatypes"; import prisma from "../lib/prisma.lib"; export const addOrder = async (req: Request, res: Response) => { - const userId = Number(req.body.userId); - - if (Number.isNaN(userId)) { + if (typeof req.body.userId !== "number" || !Array.isArray(req.body.pizzas)) { res.status(HttpStatusCodes.BAD_REQUEST).json({ userId: DataType.NUMBER, - //??? + pizzas: DataType.ARRAY, }); return; } -console.log(req.body.pizzas); + console.log(req.body.pizzas); const order = await prisma.order.create({ data: { - userId: req.body.userId, - //??? - } + userId: req.body.userId, + pizzas: req.body.pizzas, + }, }); res.status(HttpStatusCodes.CREATED).json(order); @@ -33,10 +31,10 @@ export const updateOrder = async (req: Request, res: Response) => { res.status(HttpStatusCodes.BAD_REQUEST).json({ id: DataType.NUMBER, }); - } else if (typeof req.body.userId !== "string") { + } else if (typeof req.body.userId !== "string" || !Array.isArray(req.body.pizzas)) { res.status(HttpStatusCodes.BAD_REQUEST).json({ name: DataType.STRING, - //??? + pizzas: DataType.ARRAY, }); return; } @@ -47,7 +45,7 @@ export const updateOrder = async (req: Request, res: Response) => { }, data: { userId: req.body.userId, - //??? + pizzas: req.body.pizzas, }, }); @@ -66,7 +64,7 @@ export const deleteOrder = async (req: Request, res: Response) => { await prisma.order.delete({ where: { id: id, - } + }, }); res.status(HttpStatusCodes.NO_CONTENT).json(); @@ -84,7 +82,7 @@ export const getOrder = async (req: Request, res: Response) => { const order = await prisma.restaurant.findUnique({ where: { id: id, - } + }, }); res.status(HttpStatusCodes.OK).json(order); diff --git a/src/controller/pizzas.controller.ts b/src/controller/pizzas.controller.ts index 3f0e314..ac6a490 100644 --- a/src/controller/pizzas.controller.ts +++ b/src/controller/pizzas.controller.ts @@ -4,10 +4,11 @@ import { DataType } from "../datatypes"; import prisma from "../lib/prisma.lib"; export const addPizza = async (req: Request, res: Response) => { - if (typeof req.body.name !== "string" || typeof req.body.description !== "string") { + if (typeof req.body.name !== "string" || typeof req.body.description !== "string" || typeof req.body.restaurantId !== "number") { res.status(HttpStatusCodes.BAD_REQUEST).json({ name: DataType.STRING, description: DataType.STRING, + restaurantId: DataType.NUMBER }); return; } @@ -15,7 +16,8 @@ export const addPizza = async (req: Request, res: Response) => { const pizza = await prisma.pizza.create({ data: { name: req.body.name, - restaurantId: -1 + description: req.body.description, + restaurantId: req.body.restaurantId }, }); @@ -29,10 +31,11 @@ export const updatePizza = async (req: Request, res: Response) => { res.status(HttpStatusCodes.BAD_REQUEST).json({ id: DataType.NUMBER, }); - } else if (typeof req.body.name !== "string" || typeof req.body.description !== "string") { + } else if (typeof req.body.name !== "string" || typeof req.body.description !== "string" || typeof req.body.restaurantId !== "number") { res.status(HttpStatusCodes.BAD_REQUEST).json({ name: DataType.STRING, description: DataType.STRING, + restaurantId: DataType.NUMBER }); return; } diff --git a/src/datatypes.ts b/src/datatypes.ts index 65a4541..06909d1 100644 --- a/src/datatypes.ts +++ b/src/datatypes.ts @@ -1,4 +1,5 @@ export const DataType = { STRING: "String", - NUMBER: "Number" + NUMBER: "Number", + ARRAY: "Array", };