bvandeusen
bc22ec9a91
feat(db): add SetSubsonicPassword query
...
Allows setting or clearing the opt-in Subsonic legacy credential.
2026-04-19 17:37:18 +00:00
bvandeusen
b5bf0cc9d6
feat(db): migration 0003 down — drop users.subsonic_password
2026-04-19 17:37:12 +00:00
bvandeusen
9fd3fec149
feat(db): migration 0003 - users.subsonic_password opt-in column
...
Subsonic token auth (t=md5(password+salt)) needs a reversibly stored
credential; bcrypt password_hash can't serve. NULL means the user has
not opted in, forcing apiKey (OpenSubsonic) instead.
2026-04-19 17:37:11 +00:00
bvandeusen
6e776810b2
M1/#293: RequireAdmin middleware + UserFromContext
2026-04-19 15:17:16 +00:00
bvandeusen
c58061778c
M1/#293: integration test for scanner walk + incremental
2026-04-19 15:17:09 +00:00
bvandeusen
fdf28efef0
M1/#293: library scanner (walk + tag-parse + upsert + mtime incremental)
2026-04-19 15:16:48 +00:00
bvandeusen
968087198d
M1/#293: update server_test for new New() signature
2026-04-19 15:16:22 +00:00
bvandeusen
8e91235b88
M1/#293: add /api/admin/scan route gated on X-API-Token
2026-04-19 15:16:15 +00:00
bvandeusen
e3257a705a
M1/#293: regenerate sqlc output for GetAlbumByArtistAndTitle
2026-04-19 15:15:50 +00:00
bvandeusen
918506168a
M1/#293: add GetAlbumByArtistAndTitle for no-mbid dedupe
2026-04-19 15:15:35 +00:00
bvandeusen
29d32e3097
M1/#293: cover LibraryConfig env + yaml
2026-04-19 15:15:29 +00:00
bvandeusen
7cc7e17abc
M1/#293: add LibraryConfig + env overrides
2026-04-19 15:15:12 +00:00
bvandeusen
442668874d
M1/#292: integration test for admin bootstrap (MINSTREL_TEST_DATABASE_URL-gated)
2026-04-19 02:32:58 +00:00
bvandeusen
33f6514696
M1/#292: auth.Bootstrap for empty-users-table first-run admin
2026-04-19 02:32:43 +00:00
bvandeusen
9e59a0cf73
M1/#292: sqlc-generated users queries
2026-04-19 02:32:31 +00:00
bvandeusen
451971a9bd
M1/#292: sqlc-generated tracks queries
2026-04-19 02:32:24 +00:00
bvandeusen
da23c62262
M1/#292: sqlc-generated albums queries
2026-04-19 02:32:08 +00:00
bvandeusen
0377c58513
M1/#292: sqlc-generated artists queries
2026-04-19 02:31:58 +00:00
bvandeusen
2c10d4e23a
M1/#292: sqlc-generated models (Album/Artist/Track/User)
2026-04-19 02:31:49 +00:00
bvandeusen
e0baeb2980
M1/#292: sqlc-generated DBTX + Queries
2026-04-19 02:31:43 +00:00
bvandeusen
34ae7d6cde
M1/#292: user queries (create + lookup by username/token + count)
2026-04-19 02:31:39 +00:00
bvandeusen
85673f9881
M1/#292: track queries (upsert-by-file_path/get-by-id/get-by-path/list-by-album)
2026-04-19 02:31:36 +00:00
bvandeusen
58b29cc4bd
M1/#292: album queries (upsert/get/list-by-artist)
2026-04-19 02:31:31 +00:00
bvandeusen
7c46d8358f
M1/#292: artist queries (upsert/get/list)
2026-04-19 02:31:27 +00:00
bvandeusen
a243357ce6
M1/#292: down migration for core library
2026-04-19 02:31:23 +00:00
bvandeusen
75733a0f7f
M1/#292: core library migration (artists/albums/tracks/users)
2026-04-19 02:31:21 +00:00
bvandeusen
d7e04a757a
M1/#292: test env overrides for admin bootstrap
2026-04-19 02:30:51 +00:00
bvandeusen
70cd49299a
M1/#292: add Auth.AdminBootstrap config + env overrides
2026-04-19 02:30:39 +00:00
bvandeusen
79cd25b24a
M1/#291: drop goose-style stub migration (replaced by 0001_init.*)
2026-04-19 01:35:23 +00:00
bvandeusen
08a627b10b
M1/#291: placeholder down migration
2026-04-19 01:12:39 +00:00
bvandeusen
ceb0161677
M1/#291: placeholder up migration to establish runner
2026-04-19 01:12:37 +00:00
bvandeusen
9c66736916
M1/#291: env-gated migration test against real postgres
2026-04-19 01:12:12 +00:00
bvandeusen
380a76c053
M1/#291: wire pgxpool + golang-migrate runner with embedded migrations
2026-04-19 01:12:02 +00:00
bvandeusen
8fbf355305
fix(server): silence errcheck on deferred Body.Close
2026-04-18 21:48:07 +00:00
bvandeusen
4c5b4d1790
fix(server): rename unused request param to _ for revive/unused-parameter
2026-04-18 21:47:52 +00:00
bvandeusen
ff7cd8d38b
feat(skel): placeholder migration so embed.FS has a file to index
2026-04-18 21:20:45 +00:00
bvandeusen
9b9e0e4011
test(db): verify migrations stub loads embedded files and returns ErrNotConfigured
2026-04-18 21:20:40 +00:00
bvandeusen
58fa790b2b
feat(skel): db package with embedded migrations stub
...
Establishes the embed.FS and migrations/ layout up front. Migrate()
returns ErrNotConfigured intentionally — the real goose runner lands in
M2 alongside Postgres work, avoiding a toolchain bump to Go 1.24/1.25
through goose's transitive modernc.org/libc dependency chain.
2026-04-18 21:20:34 +00:00
bvandeusen
4dbf02d645
test(server): verify /healthz returns 200 with {"status":"ok"}
2026-04-18 21:20:23 +00:00
bvandeusen
16f2fc2ce4
feat(skel): chi router with RequestID/Recoverer middleware and /healthz
2026-04-18 21:20:17 +00:00
bvandeusen
d206f9281f
feat(skel): slog logger factory with text|json format and level parsing
2026-04-18 21:20:10 +00:00
bvandeusen
a29d876ac4
test(config): cover defaults, YAML load, missing file, env overrides
2026-04-18 21:20:02 +00:00
bvandeusen
d2d8612e06
feat(skel): config loader with YAML + SMARTMUSIC_* env overlay
2026-04-18 21:19:50 +00:00