| 12345678910111213141516171819202122232425262728293031 |
- import auth from "$lib/server/auth.js";
- import Recipe from "$lib/server/models/Recipe.js";
- import {error, json} from "@sveltejs/kit";
- export async function POST({request, cookies}){
- const user = await auth(cookies, false);
- const body = await request.json();
- if(!body.name) error(400, "Recipe name required");
- if(body.ingredients.length <= 0) error(400, "Ingredients required");
- if(body.steps.length <= 0) error(400, "Preparation steps required");
- for(let i = 0; i < body.ingredients.length; i++){
- if(body.ingredients[i].quantity <= 0) error(400, "Quantity must be greater than 0");
- if(!body.ingredients[i].name) error(400, "Ingredient name required");
- }
- const recipe = new Recipe({
- user: user._id,
- name: body.name,
- ingredients: body.ingredients,
- steps: body.steps,
- notes: body.notes,
- createdAt: new Date(),
- updatedAt: new Date()
- });
- await recipe.save();
- return json({id: recipe._id.toString()}, {status: 201});
- }
|