diff --git a/api/src/controllers/meals.controllers.ts b/api/src/controllers/meals.controllers.ts index 2b3391aacdcb9cc3d6e4a776362ab0e287af6fbd..49f1c09d9de889f47781d20537c5ee189b2fc92d 100644 --- a/api/src/controllers/meals.controllers.ts +++ b/api/src/controllers/meals.controllers.ts @@ -27,6 +27,14 @@ export const getMealById = async (req: Request, res: Response) => { status: 'success', data: meal }); +}; + +export const getMeals = async (req: Request, res: Response) => { + const meals = await prisma.meal.findMany(); + return res.status(200).json({ + status: "success", + data: meals + }); } export const updateMeal = async (req: Request, res: Response) => { diff --git a/api/src/controllers/menus.controllers.ts b/api/src/controllers/menus.controllers.ts index c8d32f0f22bf9aeec27c832e00c3144a50ebc243..5c0288a53a781fc2bd5dc7cfa2ac7739ebff10b1 100644 --- a/api/src/controllers/menus.controllers.ts +++ b/api/src/controllers/menus.controllers.ts @@ -1,6 +1,8 @@ import prisma from '../client'; import { Request, Response } from 'express'; +const moment = require('moment'); + export const createMenu = async (req: Request, res: Response) => { const date = req.body.date @@ -103,6 +105,12 @@ export const getMenus = async (req: Request, res: Response) => { } else{ const date = new Date(`${req.query.date as string} UTC`); + if(!moment(date, moment.ISO_8601, true).isValid()){ + return res.status(400).json({ + status: 'error', + message: 'invalid date' + }); + } const menus = await prisma.menu.findMany({ where:{ date, diff --git a/api/src/routes/meals.routes.ts b/api/src/routes/meals.routes.ts index 5e4e9567a147d9191217e21298b426b47497ee77..95c191f3f00d0bd7198dc31a55ee2b2e4ed152d6 100644 --- a/api/src/routes/meals.routes.ts +++ b/api/src/routes/meals.routes.ts @@ -1,10 +1,11 @@ import express from 'express'; -import { createMeal, deleteMeal, getMealById, updateMeal } from '../controllers/meals.controllers'; +import { createMeal, deleteMeal, getMealById, getMeals, updateMeal } from '../controllers/meals.controllers'; import { ensureMealExist, resolveMealInfo, validateMealInfo } from '../middleware/meals.middleware'; import { authorizeStaff } from '../middleware/staff.middleware'; const router = express.Router(); +router.get("/", getMeals) router.get("/:id", ensureMealExist, getMealById); router.post("/", authorizeStaff, validateMealInfo, createMeal); router.patch("/:id", authorizeStaff, ensureMealExist, validateMealInfo, resolveMealInfo, updateMeal);