-- name: AdminSummary :one -- 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. SELECT (SELECT count(*) FROM requests WHERE status = 'pending')::bigint AS requests, (SELECT min(requested_at) FROM requests WHERE status = 'pending')::timestamptz AS requests_since, -- A broken track is one report however it was found: a listener flagged -- it, or it failed to play (#5606). Counted by track, as the Reports -- page lists them. (SELECT count(*) FROM ( SELECT track_id FROM lidarr_quarantine UNION SELECT track_id FROM playback_errors WHERE resolved_at IS NULL) r)::bigint AS reports, (SELECT min(at) FROM ( SELECT created_at AS at FROM lidarr_quarantine UNION ALL SELECT occurred_at FROM playback_errors WHERE resolved_at IS NULL) r)::timestamptz AS reports_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;