Files
ranaze-pos/server/models/Order.js
T
2026-05-05 15:47:17 +00:00

38 lines
1.1 KiB
JavaScript

import mongoose from "mongoose";
const orderLineSchema = new mongoose.Schema(
{
menuItemId: { type: mongoose.Schema.Types.ObjectId, ref: "MenuItem", required: true },
name: { type: String, required: true },
basePrice: { type: Number, required: true },
size: { type: String, required: true },
sweetness: { type: String, required: true },
ice: { type: String, required: true },
toppings: { type: [String], default: [] },
notes: { type: String, default: "" }
},
{ _id: false }
);
const orderSchema = new mongoose.Schema(
{
number: { type: Number, required: true, unique: true },
customerName: { type: String, default: "", trim: true },
paymentMethod: {
type: String,
enum: ["cash", "tab", "unpaid"],
default: "cash"
},
status: {
type: String,
enum: ["new", "making", "ready", "completed"],
default: "new"
},
lines: { type: [orderLineSchema], required: true },
total: { type: Number, required: true, min: 0 }
},
{ timestamps: true }
);
export const Order = mongoose.model("Order", orderSchema);