(threadIds: string[], archived: boolean)
| 81 | } |
| 82 | |
| 83 | function updateArchivedFlag(threadIds: string[], archived: boolean) { |
| 84 | if (threadIds.length === 0) { |
| 85 | return |
| 86 | } |
| 87 | |
| 88 | const db = getThreadStateDatabase() |
| 89 | const updateThread = db.prepare( |
| 90 | ` |
| 91 | UPDATE threads |
| 92 | SET archived = ?, updated_at = CURRENT_TIMESTAMP |
| 93 | WHERE id = ? |
| 94 | `, |
| 95 | ) |
| 96 | |
| 97 | runInTransaction(db, () => { |
| 98 | for (const threadId of threadIds) { |
| 99 | updateThread.run(archived ? 1 : 0, threadId) |
| 100 | } |
| 101 | }) |
| 102 | } |
| 103 | |
| 104 | export function restoreThread(threadId: string) { |
| 105 | const db = getThreadStateDatabase() |
no test coverage detected