|
@@ -121,11 +121,40 @@ const removeMessage = async (req, res, next) => {
|
|
|
const id = req.params.id;
|
|
|
const userId = req.user.id;
|
|
|
const userMessage = await MessageModel.remove(id, userId);
|
|
|
+ await MessageModel.findByFieldsAndUpdateMany(
|
|
|
+ userMessage.companionId,
|
|
|
+ id,
|
|
|
+ userId,
|
|
|
+ {
|
|
|
+ replyMessage: null,
|
|
|
+ replyName: null,
|
|
|
+ replyLastName: null,
|
|
|
+ replyCaption: null,
|
|
|
+ oldId: null,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ const companionMessage = await MessageModel.findByFields(
|
|
|
+ userId,
|
|
|
+ userMessage.idTime,
|
|
|
+ userMessage.companionId
|
|
|
+ );
|
|
|
await MessageModel.removeByFields(
|
|
|
userId,
|
|
|
userMessage.idTime,
|
|
|
userMessage.companionId
|
|
|
);
|
|
|
+ await MessageModel.findByFieldsAndUpdateMany(
|
|
|
+ userId,
|
|
|
+ companionMessage._id,
|
|
|
+ userMessage.companionId,
|
|
|
+ {
|
|
|
+ replyMessage: null,
|
|
|
+ replyName: null,
|
|
|
+ replyLastName: null,
|
|
|
+ replyCaption: null,
|
|
|
+ oldId: null,
|
|
|
+ }
|
|
|
+ );
|
|
|
if (userMessage.type !== 'text') {
|
|
|
const params = {
|
|
|
Bucket: AWS_BUCKET_NAME,
|
|
@@ -176,6 +205,30 @@ const removeSelected = async (req, res, next) => {
|
|
|
const totalDeleted = selectedArr.length;
|
|
|
const toDeleteMessage = async (id) => {
|
|
|
const userMessage = await MessageModel.remove(id, userId);
|
|
|
+ await MessageModel.findByFieldsAndUpdateMany(companionId, id, userId, {
|
|
|
+ replyMessage: null,
|
|
|
+ replyName: null,
|
|
|
+ replyLastName: null,
|
|
|
+ replyCaption: null,
|
|
|
+ oldId: null,
|
|
|
+ });
|
|
|
+ const companionMessage = await MessageModel.findByFields(
|
|
|
+ userId,
|
|
|
+ userMessage.idTime,
|
|
|
+ companionId
|
|
|
+ );
|
|
|
+ await MessageModel.findByFieldsAndUpdateMany(
|
|
|
+ userId,
|
|
|
+ companionMessage._id,
|
|
|
+ companionId,
|
|
|
+ {
|
|
|
+ replyMessage: null,
|
|
|
+ replyName: null,
|
|
|
+ replyLastName: null,
|
|
|
+ replyCaption: null,
|
|
|
+ oldId: null,
|
|
|
+ }
|
|
|
+ );
|
|
|
await MessageModel.removeByFields(
|
|
|
userId,
|
|
|
userMessage.idTime,
|
|
@@ -253,8 +306,8 @@ const sentMessage = async (req, res, next) => {
|
|
|
});
|
|
|
await MessageModel.add({
|
|
|
message,
|
|
|
- name,
|
|
|
- lastName,
|
|
|
+ name: isCompanionChat.name,
|
|
|
+ lastName: isCompanionChat.lastName,
|
|
|
avatarUrl,
|
|
|
color,
|
|
|
number,
|
|
@@ -301,7 +354,7 @@ const sentMessageReply = async (req, res, next) => {
|
|
|
const { id, message, caption } = req.body;
|
|
|
const idTime = Math.round(Date.now() / 1000);
|
|
|
const user = req.user;
|
|
|
- const userId = req.user.id;
|
|
|
+ const userId = user.id;
|
|
|
const userMessage = await MessageModel.getById(id, userId);
|
|
|
const companionMessage = await MessageModel.findByFields(
|
|
|
userId,
|
|
@@ -336,18 +389,18 @@ const sentMessageReply = async (req, res, next) => {
|
|
|
});
|
|
|
await MessageModel.add({
|
|
|
message,
|
|
|
- replyMessage: userMessage.message,
|
|
|
+ replyMessage: companionMessage.message,
|
|
|
name: isCompanionChat.name,
|
|
|
lastName: isCompanionChat.lastName,
|
|
|
- replyName: userMessage.name,
|
|
|
- replyLastName: userMessage.lastName,
|
|
|
+ replyName: companionMessage.name,
|
|
|
+ replyLastName: companionMessage.lastName,
|
|
|
avatarUrl: user.avatarUrl,
|
|
|
color: user.color,
|
|
|
number: user.number,
|
|
|
type: 'text',
|
|
|
- fullType: userMessage.fullType,
|
|
|
+ fullType: companionMessage.fullType,
|
|
|
caption,
|
|
|
- replyCaption: userMessage.caption,
|
|
|
+ replyCaption: companionMessage.caption,
|
|
|
idTime,
|
|
|
oldId: companionMessage._id,
|
|
|
companionIdFlow: userId,
|
|
@@ -426,8 +479,8 @@ const imageMessage = async (req, res, next) => {
|
|
|
});
|
|
|
await MessageModel.add({
|
|
|
message: imgUrl,
|
|
|
- name,
|
|
|
- lastName,
|
|
|
+ name: isCompanionChat.name,
|
|
|
+ lastName: isCompanionChat.lastName,
|
|
|
avatarUrl,
|
|
|
color,
|
|
|
number,
|
|
@@ -512,8 +565,8 @@ const audioMessage = async (req, res, next) => {
|
|
|
});
|
|
|
await MessageModel.add({
|
|
|
message: audioUrl,
|
|
|
- name,
|
|
|
- lastName,
|
|
|
+ name: isCompanionChat.name,
|
|
|
+ lastName: isCompanionChat.lastName,
|
|
|
avatarUrl,
|
|
|
color,
|
|
|
number,
|
|
@@ -583,8 +636,8 @@ const videoMessage = async (req, res, next) => {
|
|
|
const { name, lastName, avatarUrl, color, number } = req.user;
|
|
|
const newMessage = await MessageModel.add({
|
|
|
message: videoUrl,
|
|
|
- name,
|
|
|
- lastName,
|
|
|
+ name: isCompanionChat.name,
|
|
|
+ lastName: isCompanionChat.lastName,
|
|
|
avatarUrl,
|
|
|
color,
|
|
|
number,
|
|
@@ -697,8 +750,8 @@ const fileMessage = async (req, res, next) => {
|
|
|
});
|
|
|
await MessageModel.add({
|
|
|
message: fileUrl,
|
|
|
- name,
|
|
|
- lastName,
|
|
|
+ name: isCompanionChat.name,
|
|
|
+ lastName: isCompanionChat.lastName,
|
|
|
avatarUrl,
|
|
|
color,
|
|
|
number,
|