Fix call history deletion from sync messages
This commit is contained in:
parent
20ddca9684
commit
1cc478180e
6 changed files with 84 additions and 11 deletions
|
@ -305,6 +305,7 @@ const dataInterface: ServerInterface = {
|
|||
getLastConversationMessage,
|
||||
getAllCallHistory,
|
||||
clearCallHistory,
|
||||
cleanupCallHistoryMessages,
|
||||
getCallHistoryUnreadCount,
|
||||
markCallHistoryRead,
|
||||
markAllCallHistoryRead,
|
||||
|
@ -3294,6 +3295,24 @@ async function clearCallHistory(
|
|||
})();
|
||||
}
|
||||
|
||||
async function cleanupCallHistoryMessages(): Promise<void> {
|
||||
const db = getInstance();
|
||||
return db
|
||||
.transaction(() => {
|
||||
const [query, params] = sql`
|
||||
DELETE FROM messages
|
||||
WHERE messages.id IN (
|
||||
SELECT messages.id FROM messages
|
||||
LEFT JOIN callsHistory ON callsHistory.callId IS messages.callId
|
||||
WHERE messages.type IS 'call-history'
|
||||
AND callsHistory.status IS ${CALL_STATUS_DELETED}
|
||||
)
|
||||
`;
|
||||
db.prepare(query).run(params);
|
||||
})
|
||||
.immediate();
|
||||
}
|
||||
|
||||
async function getCallHistoryMessageByCallId(options: {
|
||||
conversationId: string;
|
||||
callId: string;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue