merchant.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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: {
  21. type: String,
  22. required: true
  23. },
  24. lastUpdatedTime: {
  25. type: String,
  26. default: Date.now()
  27. },
  28. createdAt: {
  29. type: Date,
  30. default: Date.now
  31. },
  32. inventory: [{
  33. ingredient: {
  34. type: mongoose.Schema.Types.ObjectId,
  35. ref: "Ingredient",
  36. required: true
  37. },
  38. quantity: {
  39. type: Number,
  40. required: true,
  41. min: [0, "Quantity cannot be less than 0"]
  42. }
  43. }],
  44. recipes: [{
  45. type: mongoose.Schema.Types.ObjectId,
  46. ref: "Recipe",
  47. }]
  48. });
  49. module.exports = mongoose.model("Merchant", MerchantSchema);