Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- router.post('/:userId/like/:postId', (req, res)=> {
- models.Post.findOne({
- where:{
- id: req.params.postId
- }
- })
- .then( (like) => {
- if(like){
- models.Likes.create({
- where:{
- userId: req.params.userId,
- postId: req.params.postId
- },
- like:true
- }).then( (result) => {
- res.status(200).send({
- message: 'You have like this post',
- like: result
- })
- })
- }
- }).catch( (err) => {
- res.status(401).send({
- message: "Something went wrong",
- err: err
- })
- })
- })
- const Like = (sequelize, DataTypes) => {
- const Likes = sequelize.define('Likes', {
- like:{
- type:DataTypes.BOOLEAN,
- allowNull:true
- }
- }, {});
- Likes.associate = function(models) {
- Likes.belongsTo(models.User, {
- onDelete: "CASCADE",
- foreignKey: 'userId',
- targetKey: 'id',
- })
- Likes.belongsTo(models.Post, {
- onDelete: 'CASCADE',
- foreignKey: 'likeId',
- targetKey: 'id',
- })
- }
- return Likes;
- };
- module.exports = Like;
- module.exports = (sequelize, DataTypes) => {
- const Post = sequelize.define('Post', {
- title: DataTypes.STRING,
- post_content: DataTypes.STRING,
- username: DataTypes.STRING
- }, {});
- Post.associate = function(models) {
- Post.belongsTo(models.User, { foreignKey: 'userId', targetKey: 'id' });
- Post.belongsTo(models.Likes, { foreignKey: 'likeId', targetKey: 'id' });
- };
- return Post;
- };
- 'use strict';
- const User = (sequelize, DataTypes) => {
- const myUser = sequelize.define('User', {
- username: DataTypes.STRING,
- email: DataTypes.STRING,
- password: DataTypes.STRING,
- resetPasswordToken:DataTypes.STRING,
- resetPasswordExpires: DataTypes.DATE
- }, {});
- myUser.associate = function(models) {
- myUser.hasMany(models.Post, { foreignKey: 'userId', as:'users' });
- myUser.hasMany(models.Likes, { foreignKey: 'userId', as:'likes' });
- };
- return myUser;
- };
- module.exports = User;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement