ingredient route

This commit is contained in:
Mikayla Dobson
2022-11-19 13:31:23 -06:00
parent 21db95b624
commit 2583163fbb
6 changed files with 118 additions and 11 deletions

View File

@@ -1,21 +1,46 @@
import createError from "http-errors";
import { IIngredient } from "../schemas";
import { Ingredient } from "../models/ingredient";
const IngredientInstance = new Ingredient();
export default class IngredientCtl {
async getAll() {
try {
const result = await IngredientInstance.getAll();
if (!result) throw createError('404', 'No ingredients found');
return result;
} catch (e: any) {
throw new Error(e);
}
}
async getOne(id: string) {
try {
const result = await IngredientInstance.getOne(id);
if (!result) throw createError('404', 'No ingredient found with id ' + id);
return result;
} catch (e: any) {
throw new Error(e);
}
}
async post(data: IIngredient) {
try {
const result = await IngredientInstance.post(data);
if (!result) throw createError('400', 'Bad request');
return result;
} catch (e: any) {
throw new Error(e);
}
}
async put(id: string, data: IIngredient) {
try {
const result = await IngredientInstance.put(id, data);
if (!result) throw createError('400', 'Bad request');
return result;
} catch (e: any) {
throw new Error(e);
}
}
}

View File

@@ -0,0 +1,9 @@
import CollectionCtl from "./CollectionCtl";
import GroceryListCtl from "./GroceryListCtl";
import IngredientCtl from "./IngredientCtl";
import RecipeCtl from "./RecipeCtl";
import UserCtl from "./UserCtl";
export {
CollectionCtl, GroceryListCtl, IngredientCtl, RecipeCtl, UserCtl
}