Merge set_task_title and set_merge_title into one set_titles tool

This commit is contained in:
Ian Gulliver
2026-10-21 11:34:13 -07:00
parent 3f4e4d5e90
commit 5dd89d9d14
6 changed files with 366 additions and 388 deletions
+8 -4
View File
@@ -444,18 +444,22 @@ func (s *Store) SetMergeTitle(ctx context.Context, id, title, actor string) erro
})
}
func (s *Store) SetTitle(ctx context.Context, id, title, actor string) error {
func (s *Store) SetTitles(ctx context.Context, id, title, mergeTitle, actor string) error {
return s.write(ctx, func(tx *sql.Tx, emit emitFunc) error {
projectID := ""
err := tx.QueryRowContext(ctx, `UPDATE tasks SET title = ? WHERE id = ? AND status = ? AND merging_by = '' AND finalizing = '' AND merge_queued_by = '' RETURNING project_id`,
title, id, string(api.TaskStatusActive)).Scan(&projectID)
err := tx.QueryRowContext(ctx, `UPDATE tasks SET title = ?, merge_title = ? WHERE id = ? AND status = ? AND merging_by = '' AND finalizing = '' AND merge_queued_by = '' RETURNING project_id`,
title, mergeTitle, id, string(api.TaskStatusActive)).Scan(&projectID)
if errors.Is(err, sql.ErrNoRows) {
return ErrNotFound
}
if err != nil {
return err
}
return emit(api.Event{Kind: "task.title", ProjectId: &projectID, TaskId: &id, Actor: actor, Payload: map[string]any{"id": id, "title": title}})
err = emit(api.Event{Kind: "task.title", ProjectId: &projectID, TaskId: &id, Actor: actor, Payload: map[string]any{"id": id, "title": title}})
if err != nil {
return err
}
return emit(api.Event{Kind: "task.merge_title", ProjectId: &projectID, TaskId: &id, Actor: actor, Payload: map[string]any{"id": id, "merge_title": mergeTitle}})
})
}