// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: tasks.sql package db import ( "context" "encoding/json" ) const completeTask = `-- name: CompleteTask :one UPDATE tasks SET status = 'completed', result = $2, error = NULL, updated_at = now() WHERE id::text = $1 RETURNING id, title, source, status, payload, result, error, created_at, updated_at ` type CompleteTaskParams struct { ID string `json:"id"` Result json.RawMessage `json:"result"` } func (q *Queries) CompleteTask(ctx context.Context, arg CompleteTaskParams) (Task, error) { row := q.db.QueryRow(ctx, completeTask, arg.ID, arg.Result) var i Task err := row.Scan( &i.ID, &i.Title, &i.Source, &i.Status, &i.Payload, &i.Result, &i.Error, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const createTask = `-- name: CreateTask :one INSERT INTO tasks (title, source, payload) VALUES ($1, $2, $3) RETURNING id, title, source, status, payload, result, error, created_at, updated_at ` type CreateTaskParams struct { Title string `json:"title"` Source string `json:"source"` Payload json.RawMessage `json:"payload"` } func (q *Queries) CreateTask(ctx context.Context, arg CreateTaskParams) (Task, error) { row := q.db.QueryRow(ctx, createTask, arg.Title, arg.Source, arg.Payload) var i Task err := row.Scan( &i.ID, &i.Title, &i.Source, &i.Status, &i.Payload, &i.Result, &i.Error, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const failTask = `-- name: FailTask :one UPDATE tasks SET status = 'failed', error = $2, updated_at = now() WHERE id::text = $1 RETURNING id, title, source, status, payload, result, error, created_at, updated_at ` type FailTaskParams struct { ID string `json:"id"` Error *string `json:"error"` } func (q *Queries) FailTask(ctx context.Context, arg FailTaskParams) (Task, error) { row := q.db.QueryRow(ctx, failTask, arg.ID, arg.Error) var i Task err := row.Scan( &i.ID, &i.Title, &i.Source, &i.Status, &i.Payload, &i.Result, &i.Error, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const getTask = `-- name: GetTask :one SELECT id, title, source, status, payload, result, error, created_at, updated_at FROM tasks WHERE id::text = $1 ` func (q *Queries) GetTask(ctx context.Context, id string) (Task, error) { row := q.db.QueryRow(ctx, getTask, id) var i Task err := row.Scan( &i.ID, &i.Title, &i.Source, &i.Status, &i.Payload, &i.Result, &i.Error, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const listTasks = `-- name: ListTasks :many SELECT id, title, source, status, payload, result, error, created_at, updated_at FROM tasks ORDER BY created_at DESC LIMIT $1 ` func (q *Queries) ListTasks(ctx context.Context, limit int32) ([]Task, error) { rows, err := q.db.Query(ctx, listTasks, limit) if err != nil { return nil, err } defer rows.Close() var items []Task for rows.Next() { var i Task if err := rows.Scan( &i.ID, &i.Title, &i.Source, &i.Status, &i.Payload, &i.Result, &i.Error, &i.CreatedAt, &i.UpdatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateTaskStatus = `-- name: UpdateTaskStatus :one UPDATE tasks SET status = $2, updated_at = now() WHERE id::text = $1 RETURNING id, title, source, status, payload, result, error, created_at, updated_at ` type UpdateTaskStatusParams struct { ID string `json:"id"` Status string `json:"status"` } func (q *Queries) UpdateTaskStatus(ctx context.Context, arg UpdateTaskStatusParams) (Task, error) { row := q.db.QueryRow(ctx, updateTaskStatus, arg.ID, arg.Status) var i Task err := row.Scan( &i.ID, &i.Title, &i.Source, &i.Status, &i.Payload, &i.Result, &i.Error, &i.CreatedAt, &i.UpdatedAt, ) return i, err }