user.js 750 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. let randomColor = require('randomcolor')
  2. module.exports = (sequelize, DataTypes) => {
  3. let User = sequelize.define('User', {
  4. username: {
  5. type: DataTypes.STRING,
  6. unique: true
  7. },
  8. color: {
  9. type: DataTypes.STRING,
  10. defaultValue () {
  11. return randomColor()
  12. }
  13. },
  14. hash: DataTypes.STRING,
  15. admin: {
  16. type: DataTypes.BOOLEAN,
  17. defaultValue: false
  18. }
  19. }, {
  20. classMethods: {
  21. associate (models) {
  22. User.hasMany(models.Post)
  23. },
  24. includeOptions (lastId, limit) {
  25. let models = sequelize.models
  26. let options = models.Post.includeOptions()
  27. return [{
  28. model: models.Post,
  29. include: options,
  30. limit,
  31. where: { id: { $gt: lastId } },
  32. order: [['id', 'ASC']]
  33. }]
  34. }
  35. }
  36. })
  37. return User
  38. }