Files
scoffer/backend/models/Recipe.js

70 lines
1.2 KiB
JavaScript

const mongoose = require('mongoose');
const ingredientSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
amount: {
type: Number,
required: true
},
unit: {
type: String,
required: true
}
});
const recipeSchema = new mongoose.Schema({
title: {
type: String,
required: true
},
description: {
type: String,
required: true
},
ingredients: [ingredientSchema],
instructions: [{
step: Number,
description: String
}],
servings: {
type: Number,
default: 4
},
prepTime: {
type: Number, // in minutes
required: true
},
cookTime: {
type: Number, // in minutes
required: true
},
category: {
type: String,
enum: ['breakfast', 'lunch', 'dinner', 'dessert', 'snack', 'appetizer'],
required: true
},
difficulty: {
type: String,
enum: ['easy', 'medium', 'hard'],
default: 'medium'
},
imageUrl: {
type: String,
default: ''
},
createdBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
createdAt: {
type: Date,
default: Date.now
}
});
module.exports = mongoose.model('Recipe', recipeSchema);