merchant.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const mongoose = require("mongoose");
  2. const MerchantSchema = new mongoose.Schema({
  3. name: {
  4. type: String,
  5. required: true
  6. },
  7. email: {
  8. type: String,
  9. required: true
  10. },
  11. password: {
  12. type: String,
  13. required: true,
  14. minlength: [15, "Password must contain at least 15 characters"]
  15. },
  16. pos: {
  17. type: String,
  18. required: true
  19. },
  20. posId: String,
  21. lastUpdatedTime: {
  22. type: String,
  23. default: Date.now()
  24. },
  25. createdAt: {
  26. type: Date,
  27. default: Date.now
  28. },
  29. inventory: [{
  30. ingredient: {
  31. type: mongoose.Schema.Types.ObjectId,
  32. ref: "Ingredient",
  33. required: true
  34. },
  35. quantity: {
  36. type: Number,
  37. required: true,
  38. min: [0, "Quantity cannot be less than 0"]
  39. }
  40. }],
  41. recipes: [{
  42. type: mongoose.Schema.Types.ObjectId,
  43. ref: "Recipe"
  44. }]
  45. });
  46. module.exports = mongoose.model("Merchant", MerchantSchema);