
This is a bit more work than other queries, as it also breaks apart the fetching of the job and the worker into separate ones. In other words, internally the persistence layer API changes.
110 lines
2.7 KiB
Go
110 lines
2.7 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.25.0
|
|
// source: query_workers.sql
|
|
|
|
package sqlc
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
const fetchWorker = `-- name: FetchWorker :one
|
|
|
|
SELECT id, created_at, updated_at, uuid, secret, name, address, platform, software, status, last_seen_at, status_requested, lazy_status_request, supported_task_types, deleted_at, can_restart FROM workers WHERE workers.uuid = ?1 and deleted_at is NULL
|
|
`
|
|
|
|
// Worker queries
|
|
//
|
|
// FetchWorker only returns the worker if it wasn't soft-deleted.
|
|
func (q *Queries) FetchWorker(ctx context.Context, uuid string) (Worker, error) {
|
|
row := q.db.QueryRowContext(ctx, fetchWorker, uuid)
|
|
var i Worker
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.UUID,
|
|
&i.Secret,
|
|
&i.Name,
|
|
&i.Address,
|
|
&i.Platform,
|
|
&i.Software,
|
|
&i.Status,
|
|
&i.LastSeenAt,
|
|
&i.StatusRequested,
|
|
&i.LazyStatusRequest,
|
|
&i.SupportedTaskTypes,
|
|
&i.DeletedAt,
|
|
&i.CanRestart,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const fetchWorkerTags = `-- name: FetchWorkerTags :many
|
|
SELECT worker_tags.id, worker_tags.created_at, worker_tags.updated_at, worker_tags.uuid, worker_tags.name, worker_tags.description
|
|
FROM worker_tags
|
|
LEFT JOIN worker_tag_membership m ON (m.worker_tag_id = worker_tags.id)
|
|
LEFT JOIN workers on (m.worker_id = workers.id)
|
|
WHERE workers.uuid = ?1
|
|
`
|
|
|
|
func (q *Queries) FetchWorkerTags(ctx context.Context, uuid string) ([]WorkerTag, error) {
|
|
rows, err := q.db.QueryContext(ctx, fetchWorkerTags, uuid)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []WorkerTag
|
|
for rows.Next() {
|
|
var i WorkerTag
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.UUID,
|
|
&i.Name,
|
|
&i.Description,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Close(); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|
|
|
|
const fetchWorkerUnconditional = `-- name: FetchWorkerUnconditional :one
|
|
SELECT id, created_at, updated_at, uuid, secret, name, address, platform, software, status, last_seen_at, status_requested, lazy_status_request, supported_task_types, deleted_at, can_restart FROM workers WHERE workers.uuid = ?1
|
|
`
|
|
|
|
// FetchWorkerUnconditional ignores soft-deletion status and just returns the worker.
|
|
func (q *Queries) FetchWorkerUnconditional(ctx context.Context, uuid string) (Worker, error) {
|
|
row := q.db.QueryRowContext(ctx, fetchWorkerUnconditional, uuid)
|
|
var i Worker
|
|
err := row.Scan(
|
|
&i.ID,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
&i.UUID,
|
|
&i.Secret,
|
|
&i.Name,
|
|
&i.Address,
|
|
&i.Platform,
|
|
&i.Software,
|
|
&i.Status,
|
|
&i.LastSeenAt,
|
|
&i.StatusRequested,
|
|
&i.LazyStatusRequest,
|
|
&i.SupportedTaskTypes,
|
|
&i.DeletedAt,
|
|
&i.CanRestart,
|
|
)
|
|
return i, err
|
|
}
|