merchant.js 1.2 KB

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