paired: preserve prior owner and reviewer finals across superseded tasks
This commit is contained in:
@@ -254,6 +254,26 @@ export function getLatestOpenPairedTaskForChatFromDatabase(
|
||||
return row ? hydratePairedTaskRow(database, row) : undefined;
|
||||
}
|
||||
|
||||
export function getLatestPreviousPairedTaskForChatFromDatabase(
|
||||
database: Database,
|
||||
chatJid: string,
|
||||
currentTaskId: string,
|
||||
): PairedTask | undefined {
|
||||
const row = database
|
||||
.prepare(
|
||||
`
|
||||
SELECT *
|
||||
FROM paired_tasks
|
||||
WHERE chat_jid = ?
|
||||
AND id != ?
|
||||
ORDER BY updated_at DESC, created_at DESC
|
||||
LIMIT 1
|
||||
`,
|
||||
)
|
||||
.get(chatJid, currentTaskId) as StoredPairedTaskRow | undefined;
|
||||
return row ? hydratePairedTaskRow(database, row) : undefined;
|
||||
}
|
||||
|
||||
export function updatePairedTaskInDatabase(
|
||||
database: Database,
|
||||
id: string,
|
||||
|
||||
@@ -26,6 +26,7 @@ import {
|
||||
createPairedTaskInDatabase,
|
||||
getLastBotFinalMessageFromDatabase,
|
||||
getLatestOpenPairedTaskForChatFromDatabase,
|
||||
getLatestPreviousPairedTaskForChatFromDatabase,
|
||||
getLatestPairedTaskForChatFromDatabase,
|
||||
getPairedProjectFromDatabase,
|
||||
getPairedTaskByIdFromDatabase,
|
||||
@@ -101,6 +102,17 @@ export function getLatestOpenPairedTaskForChat(
|
||||
return getLatestOpenPairedTaskForChatFromDatabase(requireDatabase(), chatJid);
|
||||
}
|
||||
|
||||
export function getLatestPreviousPairedTaskForChat(
|
||||
chatJid: string,
|
||||
currentTaskId: string,
|
||||
): PairedTask | undefined {
|
||||
return getLatestPreviousPairedTaskForChatFromDatabase(
|
||||
requireDatabase(),
|
||||
chatJid,
|
||||
currentTaskId,
|
||||
);
|
||||
}
|
||||
|
||||
export function updatePairedTask(id: string, updates: PairedTaskUpdates): void {
|
||||
updatePairedTaskInDatabase(requireDatabase(), id, updates);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user