user.js 832 B

12345678910111213141516171819202122232425262728293031323334
  1. module.exports = {
  2. _id: { type: String, required: true, index: true, unique: true, min: 12, max: 12 },
  3. username: { type: String, required: true },
  4. role: { type: String, default: 'default', required: true },
  5. email: {
  6. verified: { type: Boolean, default: false, required: true },
  7. verificationToken: String,
  8. address: String
  9. },
  10. services: {
  11. password: {
  12. password: String,
  13. reset: {
  14. code: { type: String, min: 8, max: 8 },
  15. expires: { type: Date }
  16. }
  17. },
  18. github: {
  19. id: Number,
  20. }
  21. },
  22. ban: {
  23. banned: { type: Boolean, default: false, required: true },
  24. reason: String,
  25. bannedAt: Date,
  26. bannedUntil: Date
  27. },
  28. statistics: {
  29. songsRequested: { type: Number, default: 0, required: true }
  30. },
  31. liked: [{ type: String }],
  32. disliked: [{ type: String }],
  33. createdAt: { type: Date, default: Date.now() }
  34. };