// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: admin_summary.sql package dbq import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const adminSummary = `-- name: AdminSummary :one SELECT (SELECT count(*) FROM requests WHERE status = 'pending')::bigint AS requests, (SELECT min(requested_at) FROM requests WHERE status = 'pending')::timestamptz AS requests_since, (SELECT count(DISTINCT track_id) FROM lidarr_quarantine)::bigint AS quarantined, (SELECT min(created_at) FROM lidarr_quarantine)::timestamptz AS quarantined_since, (SELECT count(*) FROM playback_errors WHERE resolved_at IS NULL)::bigint AS playback_errors, (SELECT min(occurred_at) FROM playback_errors WHERE resolved_at IS NULL)::timestamptz AS playback_errors_since, (SELECT count(*) FROM duplicate_groups g WHERE g.status = 'pending' AND (SELECT count(*) FROM duplicate_group_members m WHERE m.group_id = g.id) >= 2)::bigint AS duplicates, (SELECT min(g.detected_at) FROM duplicate_groups g WHERE g.status = 'pending' AND (SELECT count(*) FROM duplicate_group_members m WHERE m.group_id = g.id) >= 2)::timestamptz AS duplicates_since, (SELECT count(*) FROM tracks WHERE source_verdict = 'suspect' AND missing_since IS NULL)::bigint AS suspect, (SELECT min(source_verdict_at) FROM tracks WHERE source_verdict = 'suspect' AND missing_since IS NULL)::timestamptz AS suspect_since, (SELECT count(*) FROM tracks WHERE missing_since IS NOT NULL)::bigint AS missing, (SELECT min(missing_since) FROM tracks WHERE missing_since IS NOT NULL)::timestamptz AS missing_since ` type AdminSummaryRow struct { Requests int64 RequestsSince pgtype.Timestamptz Quarantined int64 QuarantinedSince pgtype.Timestamptz PlaybackErrors int64 PlaybackErrorsSince pgtype.Timestamptz Duplicates int64 DuplicatesSince pgtype.Timestamptz Suspect int64 SuspectSince pgtype.Timestamptz Missing int64 MissingSince pgtype.Timestamptz } // What the admin rail and the Overview's verdict read (#5605): each queue // that waits on a person, with how many and since when. One round trip, so // the rail costs one cheap read on every admin page. The "since" is the // oldest item still waiting: how long the queue has been left, which is what // tells the operator a count of 2 is fine today and wrong after a month. func (q *Queries) AdminSummary(ctx context.Context) (AdminSummaryRow, error) { row := q.db.QueryRow(ctx, adminSummary) var i AdminSummaryRow err := row.Scan( &i.Requests, &i.RequestsSince, &i.Quarantined, &i.QuarantinedSince, &i.PlaybackErrors, &i.PlaybackErrorsSince, &i.Duplicates, &i.DuplicatesSince, &i.Suspect, &i.SuspectSince, &i.Missing, &i.MissingSince, ) return i, err }