Skip to content

Commit c939ed2

Browse files
committed
Enhance message editing validation in BaileysStartupService
1 parent 91e7a32 commit c939ed2

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3910,6 +3910,16 @@ export class BaileysStartupService extends ChannelStartupService {
39103910
}
39113911

39123912
try {
3913+
const oldMessage: any = await this.getMessage(data.key, true);
3914+
if (!oldMessage) throw new NotFoundException('Message not found');
3915+
if (oldMessage?.key?.remoteJid !== jid) {
3916+
throw new BadRequestException('RemoteJid does not match');
3917+
}
3918+
if (oldMessage?.messageTimestamp > Date.now() + 900000) {
3919+
// 15 minutes in milliseconds
3920+
throw new BadRequestException('Message is older than 15 minutes');
3921+
}
3922+
39133923
const response = await this.client.sendMessage(jid, {
39143924
...(options as any),
39153925
edit: data.key,
@@ -3933,15 +3943,17 @@ export class BaileysStartupService extends ChannelStartupService {
39333943
if ((message.key.valueOf() as any)?.deleted) {
39343944
new BadRequestException('You cannot edit deleted messages');
39353945
}
3936-
3937-
const updateMessage = this.prepareMessage({ ...response });
3946+
if (oldMessage.messageType === 'conversation' || oldMessage.messageType === 'extendedTextMessage') {
3947+
oldMessage.message.conversation = data.text;
3948+
} else {
3949+
oldMessage.message[oldMessage.messageType].caption = data.text;
3950+
}
39383951
message = await this.prismaRepository.message.update({
39393952
where: { id: message.id },
39403953
data: {
3941-
message: {
3942-
...updateMessage?.message?.[updateMessage.messageType]?.editedMessage,
3943-
},
3954+
message: oldMessage.message,
39443955
status: 'EDITED',
3956+
messageTimestamp: Math.floor(Date.now() / 1000), // Convert to int32 by dividing by 1000 to get seconds
39453957
},
39463958
});
39473959
const messageUpdate: any = {

0 commit comments

Comments
 (0)