odoo-next-backend/dist/models/Restaurant.js
2026-01-22 21:21:56 +05:30

47 lines
2.2 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Table = exports.Floor = exports.Product = exports.Category = void 0;
const mongoose_1 = __importDefault(require("mongoose"));
// --- Category ---
const CategorySchema = new mongoose_1.default.Schema({
name: { type: String, required: true },
icon: String,
color: String,
});
exports.Category = mongoose_1.default.models.Category || mongoose_1.default.model('Category', CategorySchema);
// --- Product ---
const ProductSchema = new mongoose_1.default.Schema({
name: { type: String, required: true },
price: { type: Number, required: true },
category: { type: mongoose_1.default.Schema.Types.ObjectId, ref: 'Category' },
image: String,
available: { type: Boolean, default: true },
isAddon: { type: Boolean, default: false },
});
exports.Product = mongoose_1.default.models.Product || mongoose_1.default.model('Product', ProductSchema);
// --- Floor ---
const FloorSchema = new mongoose_1.default.Schema({
id: { type: Number, required: true, unique: true }, // Using number ID to match frontend for now, or could use auto-generated _id
name: { type: String, required: true },
});
exports.Floor = mongoose_1.default.models.Floor || mongoose_1.default.model('Floor', FloorSchema);
// --- Table ---
const TableSchema = new mongoose_1.default.Schema({
id: { type: Number, required: true, unique: true }, // Custom ID to match frontend
name: { type: String, required: true },
seats: { type: Number, default: 4 },
floorId: { type: Number, required: true },
status: { type: String, enum: ['available', 'occupied', 'reserved'], default: 'available' },
x: { type: Number, default: 0 },
y: { type: Number, default: 0 },
width: Number,
height: Number,
shape: { type: String, enum: ['rect', 'circle', 'square'], default: 'circle' },
currentOrderId: { type: mongoose_1.default.Schema.Types.ObjectId, ref: 'Order' },
});
exports.Table = mongoose_1.default.models.Table || mongoose_1.default.model('Table', TableSchema);
// Order model moved to Order.ts