user.js 913 B

12345678910111213141516171819202122232425262728293031323334353637
  1. module.exports = {
  2. username: { type: String, required: true },
  3. role: { type: String, default: 'default', required: true },
  4. email: {
  5. verified: { type: Boolean, default: false, required: true },
  6. verificationToken: String,
  7. address: String
  8. },
  9. avatar: { type: String },
  10. services: {
  11. password: {
  12. password: String,
  13. reset: {
  14. code: { type: String, min: 8, max: 8 },
  15. expires: { type: Date }
  16. },
  17. set: {
  18. code: { type: String, min: 8, max: 8 },
  19. expires: { type: Date }
  20. }
  21. },
  22. github: {
  23. id: Number,
  24. access_token: String
  25. }
  26. },
  27. statistics: {
  28. songsRequested: { type: Number, default: 0, required: true }
  29. },
  30. liked: [{ type: String }],
  31. disliked: [{ type: String }],
  32. favoriteStations: [{ type: String }],
  33. name: { type: String, default: "" },
  34. location: { type: String, default: "" },
  35. bio: { type: String, default: "" },
  36. createdAt: { type: Date, default: Date.now() }
  37. };