modarb-be / src /common /models /meal-plan.model.ts
Hozifa Elgharbawy
chore: Add createdAt field to meal plan and user registered meal plan models
f06a425
import mongoose from "mongoose";
const { Schema } = mongoose;
import { FitnessLevel } from "@common/enums/fitness-level.enum";
export interface IMealPlan {
image: string;
description: string;
duration: number;
level: FitnessLevel;
your_journey: string;
key_features: {
title: string;
description: string;
}[];
days: {
day_number: number;
meals: mongoose.Types.ObjectId[];
}[];
aiGenerated: boolean;
isDeleted: boolean;
createdAt?: Date;
}
const mealPlanSchema = new Schema({
image: { type: String, required: true },
description: { type: String, required: true },
duration: { type: Number, required: true },
level: { type: String, enum: FitnessLevel, required: true },
your_journey: { type: String, required: false },
createdAt: { type: Date, default: Date.now, required: false },
key_features: [{
title: { type: String, required: false },
description: { type: String, required: false },
}],
days: [
{
day_number: { type: Number, required: true, },
meals: [
{ type: mongoose.Types.ObjectId, ref: "meals" },
],
},
],
aiGenerated: { type: Boolean, required: true, default: false },
isDeleted: { type: Boolean, default: false },
});
export type MealPlanDocument = IMealPlan & mongoose.Document;
export const MealPlan = mongoose.model<MealPlanDocument>(
"mealPlans",
mealPlanSchema
);