(taskId: string, fields: { title?: string; summary?: string; status?: TaskStatus; endedAt?: number })
| 1633 | } |
| 1634 | |
| 1635 | updateTask(taskId: string, fields: { title?: string; summary?: string; status?: TaskStatus; endedAt?: number }): boolean { |
| 1636 | const sets: string[] = []; |
| 1637 | const params: unknown[] = []; |
| 1638 | if (fields.title !== undefined) { sets.push("title = ?"); params.push(fields.title); } |
| 1639 | if (fields.summary !== undefined) { sets.push("summary = ?"); params.push(fields.summary); } |
| 1640 | if (fields.status !== undefined) { sets.push("status = ?"); params.push(fields.status); } |
| 1641 | if (fields.endedAt !== undefined) { sets.push("ended_at = ?"); params.push(fields.endedAt); } |
| 1642 | if (sets.length === 0) return false; |
| 1643 | sets.push("updated_at = ?"); |
| 1644 | params.push(Date.now()); |
| 1645 | params.push(taskId); |
| 1646 | const result = this.db.prepare(`UPDATE tasks SET ${sets.join(", ")} WHERE id = ?`).run(...params); |
| 1647 | return result.changes > 0; |
| 1648 | } |
| 1649 | |
| 1650 | getChunksByTask(taskId: string): Chunk[] { |
| 1651 | const rows = this.db.prepare("SELECT * FROM chunks WHERE task_id = ? ORDER BY created_at, seq").all(taskId) as ChunkRow[]; |
no test coverage detected