File size: 1,044 Bytes
7676a27
 
 
 
 
 
b561958
e13a8b7
7676a27
 
 
 
 
3daae40
7676a27
 
 
 
 
b561958
7676a27
 
 
 
 
 
 
 
 
 
3daae40
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
38
39
40
41
import mongoose from "mongoose";
const { Schema } = mongoose;
import { MealType } from "@common/enums/meal-type.enum";
export interface IMeal {
  name: string;
  created_at: Date;
  image: string;
  ingredients: string[];
  calories: number;
  carbs: number;
  proteins: number;
  fats: number;
  type: MealType;
  isDeleted: boolean;
}

const mealSchema = new Schema({
  name: { type: String, required: true, unique: true, dropDups: true },
  created_at: { type: Date, default: Date.now() },
  image: { type: String, required: true },
  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 },
  isDeleted: { type: Boolean, default: false },
});


export type MealDocument = IMeal & mongoose.Document;

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