You've already forked agentic-coding-workflow
feat(workspace): WorktreeService with acquire/release state machine
This commit is contained in:
@@ -111,6 +111,28 @@ func (q *Queries) GetWorktreeByID(ctx context.Context, id pgtype.UUID) (Workspac
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getWorktreeByIDForUpdate = `-- name: GetWorktreeByIDForUpdate :one
|
||||
SELECT id, workspace_id, branch, path, status, active_holder, acquired_at, last_used_at, created_at FROM workspace_worktrees WHERE id = $1
|
||||
FOR UPDATE
|
||||
`
|
||||
|
||||
func (q *Queries) GetWorktreeByIDForUpdate(ctx context.Context, id pgtype.UUID) (WorkspaceWorktree, error) {
|
||||
row := q.db.QueryRow(ctx, getWorktreeByIDForUpdate, id)
|
||||
var i WorkspaceWorktree
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.WorkspaceID,
|
||||
&i.Branch,
|
||||
&i.Path,
|
||||
&i.Status,
|
||||
&i.ActiveHolder,
|
||||
&i.AcquiredAt,
|
||||
&i.LastUsedAt,
|
||||
&i.CreatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const listWorktreesByWorkspace = `-- name: ListWorktreesByWorkspace :many
|
||||
SELECT id, workspace_id, branch, path, status, active_holder, acquired_at, last_used_at, created_at FROM workspace_worktrees
|
||||
WHERE workspace_id = $1
|
||||
|
||||
Reference in New Issue
Block a user