Browse Source

worked on reply

unknown 1 year ago
parent
commit
a62e752049
4 changed files with 40 additions and 54 deletions
  1. 29 36
      controllers/messages.js
  2. 10 2
      model/schemas/message.js
  3. 1 6
      routes/messages.js
  4. 0 10
      validation/message.js

+ 29 - 36
controllers/messages.js

@@ -298,10 +298,10 @@ const sentMessage = async (req, res, next) => {
 
 const sentMessageReply = async (req, res, next) => {
 	try {
-		const { id, newMessage, newCaption } = req.body;
+		const { id, message, caption } = req.body;
 		const idTime = Math.round(Date.now() / 1000);
+		const user = req.user;
 		const userId = req.user.id;
-		const number = req.user.number;
 		const userMessage = await MessageModel.getById(id, userId);
 		const companionMessage = await MessageModel.findByFields(
 			userId,
@@ -314,29 +314,20 @@ const sentMessageReply = async (req, res, next) => {
 			userMessage.companionId
 		);
 		if (isChat && isCompanionChat && userMessage && companionMessage) {
-			const {
+			const newMessage = await MessageModel.add({
 				message,
-				name,
-				lastName,
-				avatarUrl,
-				color,
-				caption,
-				fullType,
-				newMessage: oldMessage,
-				newCaption: oldCaption,
-			} = userMessage;
-			const sentMessage = await MessageModel.add({
-				message: oldMessage ? oldMessage : message,
-				newMessage,
-				name,
-				lastName,
-				avatarUrl,
-				color,
-				number,
+				replyMessage: userMessage.message,
+				name: user.name,
+				lastName: user.lastName,
+				replyName: userMessage.name,
+				replyLastName: userMessage.lastName,
+				avatarUrl: user.avatarUrl,
+				color: user.color,
+				number: user.number,
 				type: 'text',
-				fullType,
-				caption: oldCaption ? oldCaption : caption,
-				newCaption,
+				fullType: userMessage.fullType,
+				caption,
+				replyCaption: userMessage.caption,
 				idTime,
 				oldId: id,
 				companionIdFlow: userId,
@@ -345,16 +336,18 @@ const sentMessageReply = async (req, res, next) => {
 			});
 			await MessageModel.add({
 				message,
-				newMessage,
-				name,
-				lastName,
-				avatarUrl,
-				color,
-				number,
+				replyMessage: userMessage.message,
+				name: isCompanionChat.name,
+				lastName: isCompanionChat.lastName,
+				replyName: userMessage.name,
+				replyLastName: userMessage.lastName,
+				avatarUrl: user.avatarUrl,
+				color: user.color,
+				number: user.number,
 				type: 'text',
-				fullType,
+				fullType: userMessage.fullType,
 				caption,
-				newCaption,
+				replyCaption: userMessage.caption,
 				idTime,
 				oldId: companionMessage._id,
 				companionIdFlow: userId,
@@ -369,8 +362,8 @@ const sentMessageReply = async (req, res, next) => {
 				total,
 				seen: total,
 				watched: false,
-				lastMessage: newMessage,
-				lastMessageCreatedAt: sentMessage.createdAt,
+				lastMessage: message,
+				lastMessageCreatedAt: newMessage.createdAt,
 			});
 			const { total: Total } = await MessageModel.getList(
 				{ owner: userMessage.companionId, companionId: userId },
@@ -378,13 +371,13 @@ const sentMessageReply = async (req, res, next) => {
 			);
 			await ChatModel.update(isCompanionChat._id, userMessage.companionId, {
 				total: Total,
-				lastMessage: newMessage,
-				lastMessageCreatedAt: sentMessage.createdAt,
+				lastMessage: message,
+				lastMessageCreatedAt: newMessage.createdAt,
 			});
 			return res.status(201).json({
 				status: 'success',
 				code: 201,
-				data: sentMessage,
+				data: newMessage,
 			});
 		}
 	} catch (e) {

+ 10 - 2
model/schemas/message.js

@@ -10,7 +10,7 @@ const messageSchema = new Schema(
 			type: String,
 			default: null,
 		},
-		newMessage: {
+		replyMessage: {
 			type: String,
 			default: null,
 		},
@@ -30,6 +30,14 @@ const messageSchema = new Schema(
 			type: String,
 			default: null,
 		},
+		replyName: {
+			type: String,
+			default: null,
+		},
+		replyLastName: {
+			type: String,
+			default: null,
+		},
 		avatarUrl: {
 			type: String,
 			default: null,
@@ -62,7 +70,7 @@ const messageSchema = new Schema(
 			type: String,
 			default: null,
 		},
-		newCaption: {
+		replyCaption: {
 			type: String,
 			default: null,
 		},

+ 1 - 6
routes/messages.js

@@ -8,12 +8,7 @@ const upload = require('../helpers/upload');
 router
 	.get('/', guard, controllers.listMessages)
 	.post('/', guard, validation.sentMessage, controllers.sentMessage)
-	.post(
-		'/reply/',
-		guard,
-		validation.sentMessageReply,
-		controllers.sentMessageReply
-	)
+	.post('/reply/', guard, validation.sentMessage, controllers.sentMessageReply)
 	.patch(
 		'/selected/',
 		guard,

+ 0 - 10
validation/message.js

@@ -8,12 +8,6 @@ const schemaSentMessage = Joi.object({
 	caption: Joi.any().optional(),
 });
 
-const schemaSentMessageReply = Joi.object({
-	id: Joi.string().required(),
-	newMessage: Joi.string().min(1).max(1400).required(),
-	newCaption: Joi.any().optional(),
-});
-
 const schemaRemoveSelected = Joi.object({
 	companionId: Joi.string().required(),
 	selectedArr: Joi.array().items(Joi.string().min(5).max(50)).required(),
@@ -27,10 +21,6 @@ module.exports.sentMessage = (req, _res, next) => {
 	return validate(schemaSentMessage, req.body, next);
 };
 
-module.exports.sentMessageReply = (req, _res, next) => {
-	return validate(schemaSentMessageReply, req.body, next);
-};
-
 module.exports.removeSelected = (req, _res, next) => {
 	return validate(schemaRemoveSelected, req.body, next);
 };