merchant.js 1.1 KB

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