// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: qoder_issue_lifecycle.sql package db import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const lockQoderTaskIssue = `-- name: LockQoderTaskIssue :one SELECT i.id, i.workspace_id, i.title, i.description, i.status, i.priority, i.assignee_type, i.assignee_id, i.creator_type, i.creator_id, i.parent_issue_id, i.acceptance_criteria, i.context_refs, i.position, i.due_date, i.created_at, i.updated_at, i.number, i.project_id, i.origin_type, i.origin_id, i.first_executed_at, i.start_date, i.metadata, i.stage, i.properties, i.revision, i.last_activity_at, i.triage_state, i.duplicate_of_issue_id FROM issue i JOIN agent_task_queue t ON t.issue_id = i.id JOIN agent_runtime r ON r.id = t.runtime_id AND r.workspace_id = i.workspace_id WHERE t.id = $1 AND r.provider = 'qoder_cloud' AND i.assignee_type = 'agent' AND i.assignee_id = t.agent_id AND NOT EXISTS ( SELECT 1 FROM agent_task_queue newer WHERE newer.issue_id = i.id AND (newer.created_at, newer.id) > (t.created_at, t.id) ) FOR UPDATE OF i ` // The task row is locked by the lifecycle transition before locking its issue. func (q *Queries) LockQoderTaskIssue(ctx context.Context, taskID pgtype.UUID) (Issue, error) { row := q.db.QueryRow(ctx, lockQoderTaskIssue, taskID) var i Issue err := row.Scan( &i.ID, &i.WorkspaceID, &i.Title, &i.Description, &i.Status, &i.Priority, &i.AssigneeType, &i.AssigneeID, &i.CreatorType, &i.CreatorID, &i.ParentIssueID, &i.AcceptanceCriteria, &i.ContextRefs, &i.Position, &i.DueDate, &i.CreatedAt, &i.UpdatedAt, &i.Number, &i.ProjectID, &i.OriginType, &i.OriginID, &i.FirstExecutedAt, &i.StartDate, &i.Metadata, &i.Stage, &i.Properties, &i.Revision, &i.LastActivityAt, &i.TriageState, &i.DuplicateOfIssueID, ) return i, err } const setQoderIssueRevision = `-- name: SetQoderIssueRevision :exec UPDATE agent_task_queue SET context = jsonb_set( COALESCE(context, '{}'::jsonb), '{qoder_issue_revision}', to_jsonb($1::bigint) ) WHERE id = $2 ` type SetQoderIssueRevisionParams struct { Revision int64 `json:"revision"` TaskID pgtype.UUID `json:"task_id"` } func (q *Queries) SetQoderIssueRevision(ctx context.Context, arg SetQoderIssueRevisionParams) error { _, err := q.db.Exec(ctx, setQoderIssueRevision, arg.Revision, arg.TaskID) return err }