Files
music_library/backlog/completed/ml-62 - Route-Search-artist-queries-through-Artists-context.md
T
2026-05-04 21:22:27 +01:00

34 lines
1.1 KiB
Markdown

---
id: ML-62
title: Route Search artist queries through Artists context
status: Done
assignee: []
created_date: "2026-04-20 08:54"
labels: []
dependencies: []
references:
- "https://github.com/cloud8421/music_library/issues/113"
priority: low
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
_GitHub: created 2026-03-12 · updated 2026-03-12 · closed 2026-03-12_
## Problem
`MusicLibrary.Search.search_artists/2` and `search_artists_count/1` build their own Ecto queries directly joining `Records.ArtistRecord` to `Artists.ArtistInfo`, bypassing the `Artists` context entirely. This violates the project convention that context modules own all queries.
## Proposed solution
Add `search_by_name/2` and `search_by_name_count/1` to `MusicLibrary.Artists`, then have `Search.search_artists/2` and `Search.search_artists_count/1` delegate to them. Remove `ArtistRecord` and `ArtistInfo` aliases from `Search`.
## Files involved
- `lib/music_library/artists.ex` (add functions)
- `lib/music_library/search.ex` (delegate, remove aliases)
- Tests for `Artists` and `Search`
<!-- SECTION:DESCRIPTION:END -->