From a2e0a65b2599267efe94d665d6305f59b225bbd5 Mon Sep 17 00:00:00 2001 From: Biswa Kalyan Bhuyan Date: Tue, 29 Apr 2025 10:47:43 +0530 Subject: feat: added initlaized the frontend and backend --- backend/src/models/Order.js | 60 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 backend/src/models/Order.js (limited to 'backend/src/models/Order.js') diff --git a/backend/src/models/Order.js b/backend/src/models/Order.js new file mode 100644 index 0000000..c60f986 --- /dev/null +++ b/backend/src/models/Order.js @@ -0,0 +1,60 @@ +const mongoose = require('mongoose'); + +const orderSchema = new mongoose.Schema( + { + user: { + type: mongoose.Schema.Types.ObjectId, + ref: 'User', + required: [true, 'User is required'] + }, + items: [ + { + type: mongoose.Schema.Types.ObjectId, + ref: 'OrderItem' + } + ], + table: { + type: mongoose.Schema.Types.ObjectId, + ref: 'Table' + }, + status: { + type: String, + enum: ['pending', 'preparing', 'ready', 'served', 'completed', 'cancelled'], + default: 'pending' + }, + totalAmount: { + type: Number, + required: [true, 'Total amount is required'], + min: 0 + }, + paymentStatus: { + type: String, + enum: ['pending', 'completed', 'failed', 'refunded'], + default: 'pending' + }, + paymentMethod: { + type: String, + enum: ['cash', 'card', 'mobile'], + default: 'cash' + }, + specialInstructions: { + type: String, + trim: true + }, + isDelivery: { + type: Boolean, + default: false + }, + deliveryAddress: { + type: String, + trim: true + } + }, + { + timestamps: true + } +); + +const Order = mongoose.model('Order', orderSchema); + +module.exports = Order; \ No newline at end of file -- cgit v1.2.3-59-g8ed1b