user.js 735 B

123456789101112131415161718192021222324252627282930313233343536373839
  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()[0]
  27. options.where = { id: { $gt: lastId } }
  28. options.limit = limit
  29. options.order = [['id', 'ASC']]
  30. return [options]
  31. }
  32. }
  33. })
  34. return User
  35. }