From 58b29cc4bdbe57a21048809d87e35fd244a90104 Mon Sep 17 00:00:00 2001 From: bvandeusen Date: Sun, 19 Apr 2026 02:31:31 +0000 Subject: [PATCH] M1/#292: album queries (upsert/get/list-by-artist) --- internal/db/queries/albums.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 internal/db/queries/albums.sql diff --git a/internal/db/queries/albums.sql b/internal/db/queries/albums.sql new file mode 100644 index 00000000..291aa311 --- /dev/null +++ b/internal/db/queries/albums.sql @@ -0,0 +1,18 @@ +-- name: UpsertAlbum :one +INSERT INTO albums (title, sort_title, artist_id, release_date, mbid, cover_art_path) +VALUES ($1, $2, $3, $4, $5, $6) +ON CONFLICT (mbid) WHERE mbid IS NOT NULL +DO UPDATE SET + title = EXCLUDED.title, + sort_title = EXCLUDED.sort_title, + artist_id = EXCLUDED.artist_id, + release_date = EXCLUDED.release_date, + cover_art_path = EXCLUDED.cover_art_path, + updated_at = now() +RETURNING *; + +-- name: GetAlbumByID :one +SELECT * FROM albums WHERE id = $1; + +-- name: ListAlbumsByArtist :many +SELECT * FROM albums WHERE artist_id = $1 ORDER BY release_date NULLS LAST, sort_title;