File size: 914 Bytes
7676a27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import mongoose from "mongoose";
const { Schema } = mongoose;
import { MealType } from "@common/enums/meal-type.enum";
export interface IMeal {
  name: string;
  created_at: Date;
  ingredients: [string];
  calories: number;
  carbs: number;
  proteins: number;
  fats: number;
  type: MealType;
}

const mealSchema = new Schema({
  name: { type: String, required: true, unique: true, dropDups: true },
  created_at: { type: Date, default: Date.now() },
  type: {
    type: String,
    enum: MealType,
    required: true,
  },
  ingredients: [{ type: mongoose.Types.ObjectId, ref: "ingredients" }],
  calories: { type: Number, required: true },
  carbs: { type: Number, required: true },
  proteins: { type: Number, required: true },
  fats: { type: Number, required: true },
});


export type MealDocument = IMeal & mongoose.Document;

export const Meal = mongoose.model<MealDocument>(
  "meals",
  mealSchema
);