Advertisement
Guest User

Untitled

a guest
Mar 10th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. const Sequelize = require('sequelize');
  2.  
  3. module.exports = (sequelize) => {
  4. const User = sequelize.define('User', {
  5. first_name: {
  6. type: Sequelize.STRING(50),
  7. },
  8. last_name: {
  9. type: Sequelize.STRING(50),
  10. },
  11. email: {
  12. type: Sequelize.STRING(50),
  13. },
  14. password: {
  15. type: Sequelize.STRING(50),
  16. }
  17. }, {
  18. timestamps: false,
  19. underscored: true,
  20. tableName: 'users'
  21. });
  22.  
  23. User.associate = function (models) {
  24. User.hasMany(models.Post, { onDelete: 'cascade' });
  25. User.belongsToMany(models.User, { as: 'Friend', through: models.UserFriend });
  26. User.hasMany(models.FriendRequest, {as: 'IncomingRequest', foreignKey: 'responser_id'});
  27. User.hasMany(models.FriendRequest, {as: 'OutgoingRequest', foreignKey: 'requester_id'});
  28. };
  29.  
  30. return User;
  31. };
  32.  
  33. const Sequelize = require('sequelize');
  34.  
  35. module.exports = (sequelize) => {
  36. const UserFriend = sequelize.define('UserFriend', {
  37.  
  38. }, {
  39. timestamps: false,
  40. underscored: true,
  41. tableName: 'user_friends'
  42. });
  43.  
  44. return UserFriend;
  45.  
  46. const Sequelize = require('sequelize');
  47. const env = process.env.NODE_ENV || 'development';
  48. const { db } = require('../config')[env];
  49.  
  50. const sequelize = new Sequelize(db.name, db.username, db.password, {
  51. host: db.host,
  52. port: db.port,
  53. dialect: db.dialect,
  54. logging: db.logging,
  55. operatorsAliases: false
  56. });
  57.  
  58. const User = require('./user')(sequelize);
  59. const Post = require('./post')(sequelize);
  60. const UserFriend = require('./user_friend')(sequelize);
  61. const FriendRequest = require('./friend_request')(sequelize);
  62.  
  63. const models = {
  64. [User.name]: User,
  65. [Post.name]: Post,
  66. [UserFriend.name]: UserFriend,
  67. [FriendRequest.name]: FriendRequest
  68. };
  69.  
  70. Object.keys(models).forEach((modelName) => {
  71. if (models[modelName].associate) {
  72. models[modelName].associate(models);
  73. }
  74. });
  75.  
  76. module.exports = {
  77. sequelize,
  78. ...models
  79. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement