fix: Correção na Função sendList

Ao disparar uma lista de mensagens, agora enviamos elas com o tipo 'PRODUCT_LIST' e realizamos a correção necessária na função patchMessageBeforeSending para o tipo 'SINGLE_SELECT'
This commit is contained in:
w3nder 2023-12-24 14:32:05 -03:00
parent dfc8330035
commit 3bb4217a45

View File

@ -1413,20 +1413,17 @@ export class WAStartupService {
syncFullHistory: false, syncFullHistory: false,
userDevicesCache: this.userDevicesCache, userDevicesCache: this.userDevicesCache,
transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 10 }, transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 10 },
patchMessageBeforeSending: (message) => { patchMessageBeforeSending(message) {
const requiresPatch = !!(message.buttonsMessage || message.listMessage || message.templateMessage); if (message.deviceSentMessage?.message?.listMessage?.listType === proto.Message.ListMessage.ListType.PRODUCT_LIST) {
if (requiresPatch) { message = JSON.parse(JSON.stringify(message));
message = {
viewOnceMessageV2: { message.deviceSentMessage.message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT;
message: { }
messageContextInfo: {
deviceListMetadataVersion: 2, if (message.listMessage?.listType == proto.Message.ListMessage.ListType.PRODUCT_LIST) {
deviceListMetadata: {}, message = JSON.parse(JSON.stringify(message));
},
...message, message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT;
},
},
};
} }
return message; return message;
@ -1500,20 +1497,17 @@ export class WAStartupService {
syncFullHistory: false, syncFullHistory: false,
userDevicesCache: this.userDevicesCache, userDevicesCache: this.userDevicesCache,
transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 10 }, transactionOpts: { maxCommitRetries: 10, delayBetweenTriesMs: 10 },
patchMessageBeforeSending: (message) => { patchMessageBeforeSending(message) {
const requiresPatch = !!(message.buttonsMessage || message.listMessage || message.templateMessage); if (message.deviceSentMessage?.message?.listMessage?.listType === proto.Message.ListMessage.ListType.PRODUCT_LIST) {
if (requiresPatch) { message = JSON.parse(JSON.stringify(message));
message = {
viewOnceMessageV2: { message.deviceSentMessage.message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT;
message: { }
messageContextInfo: {
deviceListMetadataVersion: 2, if (message.listMessage?.listType == proto.Message.ListMessage.ListType.PRODUCT_LIST) {
deviceListMetadata: {}, message = JSON.parse(JSON.stringify(message));
},
...message, message.listMessage.listType = proto.Message.ListMessage.ListType.SINGLE_SELECT;
},
},
};
} }
return message; return message;
@ -3012,7 +3006,7 @@ export class WAStartupService {
buttonText: data.listMessage?.buttonText, buttonText: data.listMessage?.buttonText,
footerText: data.listMessage?.footerText, footerText: data.listMessage?.footerText,
sections: data.listMessage.sections, sections: data.listMessage.sections,
listType: 1, listType: 2,
}, },
}, },
data?.options, data?.options,