Rewrites the internal/db/queries comments to rule 32 and regenerates dbq, whose doc comments and embedded SQL carry them. The bugs behind the tiered mixes, the md5 order seed, the score bands and the round-robin arms are restated as the constraint each one enforces; counts from one library and stale cross-references are gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
63 lines
2.5 KiB
SQL
63 lines
2.5 KiB
SQL
-- Queries for the cover_art_provider_settings table
|
|
-- and the cover_art_sources_meta singleton. The SettingsService
|
|
-- consumes these.
|
|
|
|
-- name: ListProviderSettings :many
|
|
-- Returns all rows from cover_art_provider_settings. Used by the
|
|
-- SettingsService at boot for reconciliation and by the admin GET
|
|
-- handler.
|
|
SELECT provider_id, enabled, api_key, display_order, created_at, updated_at
|
|
FROM cover_art_provider_settings
|
|
ORDER BY display_order, provider_id;
|
|
|
|
-- name: UpsertProviderSettings :exec
|
|
-- INSERT a default row for a newly-registered provider, or update an
|
|
-- existing row's display_order on boot reconciliation. Does NOT
|
|
-- overwrite enabled / api_key on conflict — an admin's settings
|
|
-- persist across restarts.
|
|
INSERT INTO cover_art_provider_settings (provider_id, enabled, display_order)
|
|
VALUES ($1, $2, $3)
|
|
ON CONFLICT (provider_id) DO UPDATE
|
|
SET display_order = EXCLUDED.display_order,
|
|
updated_at = now();
|
|
|
|
-- name: UpdateProviderSettings :exec
|
|
-- Admin PATCH applies one or both fields. Pass NULL for enabled to
|
|
-- leave it unchanged. Pass FALSE for the apiKeyChanged flag to leave
|
|
-- the api_key unchanged regardless of apiKey value; pass TRUE with
|
|
-- empty string to clear, or TRUE with non-empty to set.
|
|
UPDATE cover_art_provider_settings
|
|
SET enabled = COALESCE($2, enabled),
|
|
api_key = CASE WHEN $3::boolean THEN $4 ELSE api_key END,
|
|
updated_at = now()
|
|
WHERE provider_id = $1;
|
|
|
|
-- name: GetCurrentSourcesVersion :one
|
|
SELECT current_version FROM cover_art_sources_meta WHERE id = true;
|
|
|
|
-- name: BumpSourcesVersion :one
|
|
-- Increments and returns the new version. Called by SettingsService
|
|
-- only when the *enabled set* changes (not on key/display_order
|
|
-- changes). RETURNING gives the new value back so the handler can
|
|
-- include it in the response without a follow-up SELECT.
|
|
UPDATE cover_art_sources_meta
|
|
SET current_version = current_version + 1
|
|
WHERE id = true
|
|
RETURNING current_version;
|
|
|
|
-- name: GetCoverArtProvidersHash :one
|
|
SELECT last_registered_providers_hash
|
|
FROM cover_art_sources_meta
|
|
WHERE id = true;
|
|
|
|
-- name: BumpVersionAndSetProvidersHash :one
|
|
-- Atomically increments the version and stores the new provider-set
|
|
-- hash. Called at boot when the registered-provider set has changed
|
|
-- since the last start, so 'none' rows become eligible for retry.
|
|
-- RETURNING gives the new version without a follow-up SELECT.
|
|
UPDATE cover_art_sources_meta
|
|
SET current_version = current_version + 1,
|
|
last_registered_providers_hash = $1
|
|
WHERE id = true
|
|
RETURNING current_version;
|