navidrome/persistence
Deluan 0e93ebfc73 fix(subsonic): add library filter and dedupe IDs in Exists
Addresses code review feedback: apply library-level access control via
applyLibraryFilter and handle duplicate IDs correctly using slice.Unique.
This prevents users from verifying existence of tracks outside their
accessible libraries and ensures duplicate IDs don't cause false negatives.

Signed-off-by: Deluan <deluan@navidrome.org>
2026-02-04 18:41:30 -05:00
..
album_repository.go fix(db): Include items with no annotation for starred=false, handle has_rating=false (#4921) 2026-01-21 13:45:17 -05:00
album_repository_test.go fix(db): Include items with no annotation for starred=false, handle has_rating=false (#4921) 2026-01-21 13:45:17 -05:00
artist_repository.go fix(db): Include items with no annotation for starred=false, handle has_rating=false (#4921) 2026-01-21 13:45:17 -05:00
artist_repository_test.go fix(db): Include items with no annotation for starred=false, handle has_rating=false (#4921) 2026-01-21 13:45:17 -05:00
collation_test.go fix(ui): make playlist name sorting case-insensitive (#4845) 2026-01-05 19:05:11 -05:00
export_test.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
folder_repository.go fix(scanner): execute GetFolderUpdateInfo in batches to avoid "Expression tree is too large (maximum depth 1000)" 2025-12-16 11:37:13 -05:00
folder_repository_test.go feat(scanner): implement selective folder scanning and file system watcher improvements (#4674) 2025-11-14 22:15:43 -05:00
genre_repository.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
genre_repository_test.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
helpers.go fix(scanner): optimize refresh (#4059) 2025-05-14 20:47:03 -04:00
helpers_test.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
library_repository.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
library_repository_test.go feat(scanner): implement selective folder scanning and file system watcher improvements (#4674) 2025-11-14 22:15:43 -05:00
mediafile_repository.go fix(subsonic): add library filter and dedupe IDs in Exists 2026-02-04 18:41:30 -05:00
mediafile_repository_test.go fix(playlists): better M3U paths matching across different UTF representations (#4890) 2026-01-24 12:47:43 -05:00
persistence.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
persistence_suite_test.go feat(subsonic): Add avgRating from subsonic spec (#4900) 2026-01-18 17:42:42 -05:00
persistence_test.go fix(server): play queue should not return empty entries for deleted tracks 2024-09-20 11:22:37 -04:00
player_repository.go fix(insights): fix issues and improve reports (#3558) 2024-12-18 20:37:35 -05:00
player_repository_test.go revert: separation of write and read DBs 2024-11-19 18:41:50 -05:00
playlist_repository.go fix: apply library filter to smart playlist track generation (#4739) 2025-11-27 07:58:39 -05:00
playlist_repository_test.go test: use unique library name and path in tests 2025-11-28 16:11:13 -05:00
playlist_track_repository.go feat: add Rated At field - #4653 (#4660) 2025-11-24 23:18:05 -05:00
playqueue_repository.go fix(server): ensure single record per user by reusing existing playqueue ID 2025-06-11 17:26:13 -04:00
playqueue_repository_test.go fix(server): ensure single record per user by reusing existing playqueue ID 2025-06-11 17:26:13 -04:00
plugin_cleanup.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
plugin_cleanup_test.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
plugin_repository.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
plugin_repository_test.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
property_repository.go Replace beego/orm with dbx (#2693) 2023-12-09 13:52:17 -05:00
property_repository_test.go revert: separation of write and read DBs 2024-11-19 18:41:50 -05:00
radio_repository.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
radio_repository_test.go revert: separation of write and read DBs 2024-11-19 18:41:50 -05:00
scrobble_buffer_repository.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
scrobble_buffer_repository_test.go feat(plugins): experimental support for plugins (#3998) 2025-06-22 20:45:38 -04:00
scrobble_repository.go feat(server): track scrobble/linstens history (#4770) 2025-12-06 11:07:18 -05:00
scrobble_repository_test.go feat(server): track scrobble/linstens history (#4770) 2025-12-06 11:07:18 -05:00
share_repository.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
share_repository_test.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
sql_annotations.go fix(db): Include items with no annotation for starred=false, handle has_rating=false (#4921) 2026-01-21 13:45:17 -05:00
sql_annotations_test.go fix(db): Include items with no annotation for starred=false, handle has_rating=false (#4921) 2026-01-21 13:45:17 -05:00
sql_base_repository.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
sql_base_repository_test.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
sql_bookmarks.go feat(scanner): improve error messages for cleanup operations in annotations, bookmarks, and tags 2025-11-20 09:27:42 -05:00
sql_bookmarks_test.go revert: separation of write and read DBs 2024-11-19 18:41:50 -05:00
sql_participations.go fix(scanner): remove stale role associations when artist role changes. Fix #4242 2025-12-16 06:38:50 -05:00
sql_restful.go feat: MBID search functionality for albums, artists and songs (#4286) 2025-06-30 17:11:54 -04:00
sql_restful_test.go feat: MBID search functionality for albums, artists and songs (#4286) 2025-06-30 17:11:54 -04:00
sql_search.go fix(server): optimize search3 performance with multi-library (#4382) 2025-07-25 18:53:40 -04:00
sql_search_test.go feat(bfr): Big Refactor: new scanner, lots of new fields and tags, improvements and DB schema changes (#2709) 2025-02-19 20:35:17 -05:00
sql_tags.go fix(server): headless library access improvements (#4362) 2025-07-20 15:58:21 -04:00
tag_library_filtering_test.go test: use unique library name and path in tests 2025-11-28 16:11:13 -05:00
tag_repository.go feat(scanner): improve error messages for cleanup operations in annotations, bookmarks, and tags 2025-11-20 09:27:42 -05:00
tag_repository_test.go fix(scanner): prevent foreign key constraint error in tag UpdateCounts (#4370) 2025-07-21 22:55:28 -04:00
transcoding_repository.go feat: Multi-library support (#4181) 2025-07-18 18:41:12 -04:00
transcoding_repository_test.go fix(transcoding): restrict transcoding operations to admin users (#4096) 2025-05-21 22:19:23 -04:00
user_props_repository.go Replace beego/orm with dbx (#2693) 2023-12-09 13:52:17 -05:00
user_repository.go feat(plugins): New Plugin System with multi-language PDK support (#4833) 2026-01-14 19:22:48 -05:00
user_repository_test.go fix: qualify user id filter to avoid ambiguous column (#4511) 2025-11-06 14:54:01 -05:00