source: backend/models/orderModel.js@ ee05663

Last change on this file since ee05663 was 16237c4, checked in by Nace Gjorgjievski <nace.gorgievski123@…>, 22 months ago

Added Order Functionality

  • Property mode set to 100644
File size: 1.5 KB
Line 
1import mongoose from "mongoose";
2
3const orderSchema = new mongoose.Schema(
4 {
5 orderItems: [
6 {
7 slug: { type: String, required: true },
8 name: { type: String, required: true },
9 quantity: { type: Number, required: true },
10 image: { type: String, required: true },
11 price: { type: Number, required: true },
12 product: {
13 type: mongoose.Schema.Types.ObjectId,
14 ref: "Product",
15 required: true,
16 },
17 },
18 ],
19 shippingAddress: {
20 fullName: { type: String, required: true },
21 address: { type: String, required: true },
22 city: { type: String, required: true },
23 postalCode: { type: String, required: true },
24 country: { type: String, required: true },
25 },
26 paymentMethod: { type: String, required: true },
27 paymentResult: {
28 id: String,
29 status: String,
30 update_time: String,
31 email_address: String,
32 },
33 itemsPrice: { type: Number, required: true },
34 shippingPrice: { type: Number, required: true },
35 totalPrice: { type: Number, required: true },
36 user: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true },
37 isPaid: { type: Boolean, default: false },
38 paidAt: { type: Date },
39 paidAtFormat: { type: String },
40 isDelivered: { type: Boolean, default: false },
41 deliveredAt: { type: Date },
42 },
43 {
44 timestamps: true,
45 }
46);
47
48const Order = mongoose.model("Order", orderSchema);
49export default Order;
Note: See TracBrowser for help on using the repository browser.