fix(scanner): ensure full scans update the DB (#4252)

* fix: ensure full scan refreshes all artist stats

After PR #4059, full scans were not forcing a refresh of all artists.
This change ensures that during full scans, all artist stats are refreshed
instead of only those with recently updated media files.

Changes:
- Set changesDetected=true at start of full scans to ensure maintenance operations run
- Add allArtists parameter to RefreshStats() method
- Pass fullScan state to RefreshStats to control refresh scope
- Update mock repository to match new interface

Fixes #4246
Related to PR #4059

* fix: add tests for full and incremental scans

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Deluan Quintão 2025-06-23 13:26:48 -04:00 • committed by GitHub
commit e5e2d860ef
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 106 additions and 12 deletions

View file

@ -82,7 +82,7 @@ type ArtistRepository interface {
// The following methods are used exclusively by the scanner:
RefreshPlayCounts() (int64, error)
RefreshStats() (int64, error)
RefreshStats(allArtists bool) (int64, error)
AnnotatedRepository
SearchableRepository[Artists]