Files
2024-05-13 12:41:43 +03:30

51 lines
1.5 KiB
JavaScript

const mongoose = require('mongoose')
const mongoosePaginate = require('mongoose-paginate-v2');
function image(img) {
if (img) return '/uploads/images/food/' + img
}
const RateSchema = mongoose.Schema({
user_id: {type: mongoose.ObjectId, ref: 'User'},
rate: {
type: Number,
enum: [0, 1, 2, 3, 4, 5],
default: 0
},
comment: String,
order_id : String,
replay: String,
replied_by: {type: mongoose.ObjectId, ref: 'User'},
confirmed: {type: Boolean, default: false},
confirmed_by: {type: mongoose.ObjectId, ref: 'User'},
})
const FoodSchema = mongoose.Schema({
branchId: {type: mongoose.ObjectId, ref: 'StoreInfo'},
club : {type : Boolean , default : false},
clubQuantity : {type : Number , default : 1},
point: {type : Number , default : 0},
sale : {type : Boolean , default : true},
name: String,
image: {type: String, get: image},
price: {type: Number, default: 0},
special : {type : Boolean , default : false},
description: String,
short_description: String,
estimated_time: Number,
stock: {type: Number, default: 0},
category: {type: mongoose.ObjectId, ref: 'FoodCategory'},
static_discount: {type: Number, default: 0},
rate: {type: Number, default: 0},
ratings: [RateSchema],
index: Number,
havePoint : {type: Boolean ,default : true},
canReview : {type :Array , default: []},
menuType_id: {type: mongoose.ObjectId, ref: 'MenuType'}
// deleted : {type: Boolean , default : false}
})
FoodSchema.plugin(mongoosePaginate);
module.exports = mongoose.model('Food', FoodSchema)