sending images through messages works
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.changeColumn("Messages", "content", {
|
||||
type: Sequelize.TEXT,
|
||||
allowNull: true,
|
||||
});
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
// First update any null content to empty string before reverting
|
||||
await queryInterface.sequelize.query(
|
||||
`UPDATE "Messages" SET content = '' WHERE content IS NULL`
|
||||
);
|
||||
await queryInterface.changeColumn("Messages", "content", {
|
||||
type: Sequelize.TEXT,
|
||||
allowNull: false,
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -25,7 +25,7 @@ const Message = sequelize.define('Message', {
|
||||
},
|
||||
content: {
|
||||
type: DataTypes.TEXT,
|
||||
allowNull: false
|
||||
allowNull: true
|
||||
},
|
||||
isRead: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
@@ -36,7 +36,15 @@ const Message = sequelize.define('Message', {
|
||||
allowNull: true
|
||||
}
|
||||
}, {
|
||||
timestamps: true
|
||||
timestamps: true,
|
||||
validate: {
|
||||
contentOrImage() {
|
||||
const hasContent = this.content && this.content.trim().length > 0;
|
||||
if (!hasContent && !this.imageFilename) {
|
||||
throw new Error('Message must have content or an image');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = Message;
|
||||
@@ -316,7 +316,7 @@ router.post('/', authenticateToken, async (req, res, next) => {
|
||||
error: error.message,
|
||||
stack: error.stack,
|
||||
senderId: req.user.id,
|
||||
receiverId: req.body.receiverId
|
||||
receiverId: req.body?.receiverId
|
||||
});
|
||||
next(error);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user