merchant.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. accountStatus: {
  31. status: String,
  32. expiration: Date,
  33. },
  34. inventory: [{
  35. ingredient: {
  36. type: mongoose.Schema.Types.ObjectId,
  37. ref: "Ingredient",
  38. required: true
  39. },
  40. quantity: {
  41. type: Number,
  42. required: true,
  43. min: [0, "Quantity cannot be less than 0"]
  44. }
  45. }],
  46. recipes: [{
  47. type: mongoose.Schema.Types.ObjectId,
  48. ref: "Recipe"
  49. }]
  50. });
  51. module.exports = mongoose.model("Merchant", MerchantSchema);