Add the Navidrome client module that connects to a Navidrome server via the Subsonic API, fetches artist and album data, and syncs it into the local SQLite database. - Add go-subsonic dependency for Subsonic API communication - Create internal/navidrome/client.go with NavidromeClient wrapper - NewClient constructor with token-based auth - Ping health check with HTTP status validation - GetArtists fetches all artists via getArtists endpoint - GetArtistAlbums fetches albums per artist via getArtist endpoint - Create internal/navidrome/sync.go with sync orchestration - SyncArtists upserts artists into artist_settings table - SyncAlbums fetches and stores albums for monitored artists - Add local_albums table (migration 003) with FK to artist_settings - Add LocalAlbum CRUD operations in internal/database/local_albums.go - Full test coverage: 19 tests across client and sync packages - All tests pass, go vet and go fmt clean
10 lines
173 B
Modula-2
10 lines
173 B
Modula-2
module naviwatcher
|
|
|
|
go 1.25.1
|
|
|
|
require (
|
|
github.com/delucks/go-subsonic v0.0.0-20240806025900-2a743ec36238
|
|
github.com/mattn/go-sqlite3 v1.14.22
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
)
|