product.js 905 B

1234567891011121314151617181920212223242526272829
  1. const mongoose = require('mongoose');
  2. const Schema = mongoose.Schema;
  3. const productSchema = new Schema({
  4. slug: { type: String, unique: true, sparse: true },
  5. title: { type: String, required: true },
  6. subtitle: String,
  7. image: String,
  8. description: String,
  9. rating: Number,
  10. // what students learn
  11. wsl: [{type: Schema.Types.Mixed, value: String}],
  12. requirements: [{type: Schema.Types.Mixed, value: String}],
  13. promoVideoLink: String,
  14. productLink: String,
  15. price: Number,
  16. discountedPrice: Number,
  17. status: {
  18. type: String,
  19. enum: ['active', 'inactive', 'deleted', 'published'],
  20. default: 'active'
  21. },
  22. createdAt: { type: Date, default: Date.now },
  23. updatedAt: { type: Date, default: Date.now },
  24. category: { type: Schema.Types.ObjectId, ref: 'Category' },
  25. author: { type: Schema.Types.ObjectId, ref: 'User' }
  26. });
  27. module.exports = mongoose.model('Product', productSchema );