Files
ecoconnect/server/models/Comment.js
2024-08-12 18:33:28 +08:00

40 lines
981 B
JavaScript

module.exports = (sequelize, DataTypes) => {
const Comment = sequelize.define("Comment", {
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true,
allowNull: false,
},
content: {
type: DataTypes.TEXT,
allowNull: false,
},
parentId: {
type: DataTypes.UUID,
allowNull: true,
},
}, {
tableName: 'comments',
timestamps: true,
});
Comment.associate = (models) => {
Comment.belongsTo(models.User, {
foreignKey: 'userId',
as: "user",
onDelete: 'CASCADE',
});
Comment.belongsTo(models.Post, {
foreignKey: 'postId',
as: "post",
onDelete: 'CASCADE',
});
Comment.hasMany(models.Comment, {
foreignKey: 'parentId',
as: 'replies',
});
};
return Comment;
}