forked from Qortal/qortal-ui
Phillip Lang Martinez
2 years ago
2 changed files with 121 additions and 98 deletions
@ -0,0 +1,100 @@
|
||||
export const replaceMessagesEdited = async ({ |
||||
decodedMessages, |
||||
parentEpml, |
||||
isReceipient, |
||||
decodeMessageFunc, |
||||
_publicKey |
||||
}) => { |
||||
const findNewMessages = decodedMessages.map(async (msg) => { |
||||
let msgItem = msg |
||||
try { |
||||
let msgQuery = `&involving=${msg.recipient}&involving=${msg.sender}` |
||||
if (!isReceipient) { |
||||
msgQuery = `&txGroupId=${msg.txGroupId}` |
||||
} |
||||
const response = await parentEpml.request("apiCall", { |
||||
type: "api", |
||||
url: `/chat/messages?chatreference=${msg.reference}&reverse=true${msgQuery}`, |
||||
}) |
||||
|
||||
console.log({response}) |
||||
|
||||
if (response && Array.isArray(response) && response.length !== 0) { |
||||
let responseItem = { ...response[0] } |
||||
console.log('right before') |
||||
const decodeResponseItem = decodeMessageFunc(responseItem, isReceipient, _publicKey) |
||||
console.log({decodeResponseItem}) |
||||
delete decodeResponseItem.timestamp |
||||
msgItem = { |
||||
...msg, |
||||
...decodeResponseItem, |
||||
editedTimestamp: response[0].timestamp, |
||||
} |
||||
} |
||||
} catch (error) { |
||||
console.log(error) |
||||
} |
||||
|
||||
return msgItem |
||||
}) |
||||
const updateMessages = await Promise.all(findNewMessages) |
||||
const findNewMessages2 = updateMessages.map(async (msg) => { |
||||
let parsedMessageObj = msg |
||||
try { |
||||
parsedMessageObj = JSON.parse(msg.decodedMessage) |
||||
} catch (error) { |
||||
console.log('error', {parsedMessageObj}) |
||||
return msg |
||||
} |
||||
console.log('noerror') |
||||
let msgItem = msg |
||||
try { |
||||
let msgQuery = `&involving=${msg.recipient}&involving=${msg.sender}` |
||||
if (!isReceipient) { |
||||
msgQuery = `&txGroupId=${msg.txGroupId}` |
||||
} |
||||
|
||||
console.log({parsedMessageObj}) |
||||
if (parsedMessageObj.repliedTo) { |
||||
const response = await parentEpml.request("apiCall", { |
||||
type: "api", |
||||
url: `/chat/messages?chatreference=${parsedMessageObj.repliedTo}&reverse=true${msgQuery}`, |
||||
}) |
||||
console.log({response2: response}) |
||||
if ( |
||||
response && |
||||
Array.isArray(response) && |
||||
response.length !== 0 |
||||
) { |
||||
msgItem = { |
||||
...msg, |
||||
repliedToData: decodeMessageFunc(response[0], isReceipient, _publicKey), |
||||
} |
||||
} else { |
||||
const response2 = await parentEpml.request("apiCall", { |
||||
type: "api", |
||||
url: `/chat/messages?reference=${parsedMessageObj.repliedTo}&reverse=true${msgQuery}`, |
||||
}) |
||||
|
||||
if ( |
||||
response2 && |
||||
Array.isArray(response2) && |
||||
response2.length !== 0 |
||||
) { |
||||
msgItem = { |
||||
...msg, |
||||
repliedToData: decodeMessageFunc(response2[0]), |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} catch (error) { |
||||
console.log(error) |
||||
} |
||||
|
||||
return msgItem |
||||
}) |
||||
const updateMessages2 = await Promise.all(findNewMessages2) |
||||
|
||||
return updateMessages2 |
||||
} |
Loading…
Reference in new issue