Spaces:
Running
Running
File size: 1,266 Bytes
e13a8b7 b561958 cbe2a8f e13a8b7 9b42531 3daae40 e13a8b7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
import { seederWrapper } from "seeder/helpers/seeder-wrapper";
import { IMeal, Meal } from "@common/models/meal.model";
import { dbStore } from "seeder/helpers/db-store";
import { MealType } from "@common/enums/meal-type.enum";
import { Ingredient } from "@common/models/ingredient.model";
export default seederWrapper(Meal, async () => {
console.log('fetching ingredients ids...')
const ingredientsIds = await Promise.all(
dbStore.ingredientsNames.map(
async name => {
const ing = await Ingredient.findOne(({name}));
return {
name,
_id: ing._id
}
}
)
)
console.log('preping meals data...')
const data = await Promise.all(dbStore.mealsDataset.map(async (mealJson) => ({
name: mealJson.Name,
created_at: new Date(),
image: mealJson.Images[0],
ingredients: mealJson.RecipeIngredientParts.map(name => ingredientsIds.find(i => i.name === name)._id),
calories: mealJson.Calories,
carbs: mealJson.CarbohydrateContent,
proteins: mealJson.ProteinContent,
fats: mealJson.FatContent,
type: mealJson.Category?.toLowerCase() as MealType,
isDeleted: false,
} satisfies Partial<IMeal>)));
console.log('inserting meals...')
await Meal.insertMany(data);
});
|