[taskboard] add heartbeat task pickup

This commit is contained in:
2026-03-07 14:41:29 -08:00
parent 01c9a206ab
commit 0a312dc733
5 changed files with 244 additions and 1 deletions

View File

@@ -243,6 +243,45 @@ export async function listTaskEvents(taskId?: number, limit = 50) {
return rows;
}
export async function listTasksForAssignee(assigneeAliases: string[], options?: {
includeDone?: boolean;
}) {
if (assigneeAliases.length === 0) {
return [] as TaskRecord[];
}
const placeholders = assigneeAliases.map(() => "?").join(", ");
const params: unknown[] = [...assigneeAliases];
const clauses = [`assignee IN (${placeholders})`];
if (!options?.includeDone) {
clauses.push("status != 'Done'");
}
const rows = await all<DatabaseTaskRow>(
`SELECT * FROM tasks
WHERE ${clauses.join(" AND ")}
ORDER BY
CASE status
WHEN 'In Progress' THEN 0
WHEN 'Review' THEN 1
WHEN 'Todo' THEN 2
WHEN 'Backlog' THEN 3
ELSE 4
END,
CASE priority
WHEN 'Critical' THEN 0
WHEN 'High' THEN 1
WHEN 'Medium' THEN 2
ELSE 3
END,
created_at ASC,
id ASC`,
params,
);
return rows.map(normalizeTask);
}
export async function listTaskTemplates(): Promise<TaskTemplate[]> {
return TASK_TEMPLATES;
}