Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. router.post('/:userId/like/:postId', (req, res)=> {
  2. models.Post.findOne({
  3. where:{
  4. id: req.params.postId
  5. }
  6. })
  7. .then( (like) => {
  8. if(like){
  9. models.Likes.create({
  10. where:{
  11. userId: req.params.userId,
  12. postId: req.params.postId
  13. },
  14. like:true
  15.  
  16. }).then( (result) => {
  17. res.status(200).send({
  18. message: 'You have like this post',
  19. like: result
  20. })
  21. })
  22. }
  23. }).catch( (err) => {
  24. res.status(401).send({
  25. message: "Something went wrong",
  26. err: err
  27. })
  28. })
  29.  
  30. })
  31.  
  32. const Like = (sequelize, DataTypes) => {
  33. const Likes = sequelize.define('Likes', {
  34. like:{
  35. type:DataTypes.BOOLEAN,
  36. allowNull:true
  37. }
  38. }, {});
  39. Likes.associate = function(models) {
  40. Likes.belongsTo(models.User, {
  41. onDelete: "CASCADE",
  42. foreignKey: 'userId',
  43. targetKey: 'id',
  44.  
  45. })
  46. Likes.belongsTo(models.Post, {
  47. onDelete: 'CASCADE',
  48. foreignKey: 'likeId',
  49. targetKey: 'id',
  50. })
  51. }
  52. return Likes;
  53. };
  54. module.exports = Like;
  55.  
  56. module.exports = (sequelize, DataTypes) => {
  57. const Post = sequelize.define('Post', {
  58. title: DataTypes.STRING,
  59. post_content: DataTypes.STRING,
  60. username: DataTypes.STRING
  61. }, {});
  62. Post.associate = function(models) {
  63. Post.belongsTo(models.User, { foreignKey: 'userId', targetKey: 'id' });
  64. Post.belongsTo(models.Likes, { foreignKey: 'likeId', targetKey: 'id' });
  65. };
  66. return Post;
  67. };
  68.  
  69. 'use strict';
  70.  
  71. const User = (sequelize, DataTypes) => {
  72. const myUser = sequelize.define('User', {
  73. username: DataTypes.STRING,
  74. email: DataTypes.STRING,
  75. password: DataTypes.STRING,
  76. resetPasswordToken:DataTypes.STRING,
  77. resetPasswordExpires: DataTypes.DATE
  78. }, {});
  79.  
  80. myUser.associate = function(models) {
  81.  
  82. myUser.hasMany(models.Post, { foreignKey: 'userId', as:'users' });
  83. myUser.hasMany(models.Likes, { foreignKey: 'userId', as:'likes' });
  84. };
  85.  
  86. return myUser;
  87. };
  88.  
  89. module.exports = User;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement