54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
import mongoose from 'mongoose';
|
|
|
|
const PromotionUseSchema = new mongoose.Schema(
|
|
{
|
|
promotionId: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
ref: 'Promotion',
|
|
required: [true, 'Promotion ID is required']
|
|
},
|
|
orderId: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
ref: 'Order',
|
|
required: [true, 'Order ID is required']
|
|
},
|
|
userId: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
ref: 'User',
|
|
required: [true, 'User ID is required']
|
|
},
|
|
storeId: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
ref: 'Store',
|
|
required: [true, 'Store ID is required']
|
|
},
|
|
code: {
|
|
type: String,
|
|
required: [true, 'Promotion code is required']
|
|
},
|
|
discountType: {
|
|
type: String,
|
|
enum: ['percentage', 'fixed'],
|
|
required: [true, 'Discount type is required']
|
|
},
|
|
discountValue: {
|
|
type: Number,
|
|
required: [true, 'Discount value is required']
|
|
},
|
|
discountAmount: {
|
|
type: Number,
|
|
required: [true, 'Discount amount is required']
|
|
},
|
|
orderTotal: {
|
|
type: Number,
|
|
required: [true, 'Order total is required']
|
|
}
|
|
},
|
|
{
|
|
timestamps: true
|
|
}
|
|
);
|
|
|
|
const PromotionUse = mongoose.model('PromotionUse', PromotionUseSchema);
|
|
|
|
export default PromotionUse;
|