From 06a1fe16e024d17ff9cc65aec204b9d1928c3eef Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Mon, 20 Apr 2026 22:19:59 -0400 Subject: [PATCH] feat(server): mount /api/* (login, logout, me) Wires the native JSON surface alongside the existing /api/admin and /rest/* routes. Subsonic compatibility remains untouched. Co-Authored-By: Claude Opus 4.7 --- internal/server/server.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/server/server.go b/internal/server/server.go index 36fc0ce1..3c56987f 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -10,6 +10,7 @@ import ( "github.com/go-chi/chi/v5/middleware" "github.com/jackc/pgx/v5/pgxpool" + "git.fabledsword.com/bvandeusen/minstrel/internal/api" "git.fabledsword.com/bvandeusen/minstrel/internal/auth" "git.fabledsword.com/bvandeusen/minstrel/internal/library" "git.fabledsword.com/bvandeusen/minstrel/internal/subsonic" @@ -40,13 +41,12 @@ func (s *Server) Router() http.Handler { r.Get("/healthz", s.handleHealthz) if s.Pool != nil { - r.Route("/api", func(api chi.Router) { - api.Route("/admin", func(admin chi.Router) { - admin.Use(auth.RequireAdmin(s.Pool)) - if s.Scanner != nil { - admin.Post("/scan", s.handleAdminScan) - } - }) + api.Mount(r, s.Pool, s.Logger) + r.Route("/api/admin", func(admin chi.Router) { + admin.Use(auth.RequireAdmin(s.Pool)) + if s.Scanner != nil { + admin.Post("/scan", s.handleAdminScan) + } }) subsonic.Mount(r, s.Pool, s.Logger, s.SubsonicCfg) }