owner.js 966 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const mongoose = require("mongoose");
  2. let emailValid = (value)=>{
  3. return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value);
  4. }
  5. const OwnerSchema = new mongoose.Schema({
  6. email: {
  7. type: String,
  8. required: [true, "EMAIL IS REQUIRED"],
  9. validate: {
  10. validator: emailValid,
  11. message: "INVALID EMAIL ADDRESS"
  12. },
  13. index: true
  14. },
  15. password: {
  16. type: String,
  17. required: true
  18. },
  19. square: {
  20. id: String,
  21. accessToken: String,
  22. expires: Date,
  23. refreshToken: String,
  24. },
  25. createdAt: {
  26. type: Date,
  27. default: new Date()
  28. },
  29. status: [],
  30. session: {
  31. sessionId: {
  32. type: String,
  33. index: true
  34. },
  35. expiration: Date
  36. },
  37. merchants: [{
  38. type: mongoose.Schema.Types.ObjectId,
  39. ref: "Merchant"
  40. }]
  41. });
  42. module.exports = mongoose.model("Owner", OwnerSchema);