refactor for using repomaint

This commit is contained in:
2026-05-21 22:33:57 -06:00
parent d71a8eb946
commit 80fa7f8392
4 changed files with 23 additions and 6 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ func (s *Server) handlerRefresh(w http.ResponseWriter, req *http.Request) {
return
}
if err := s.c.Refresh(); err != nil {
if err := s.rs.Sync(); err != nil {
slog.Error("refresh failed", "err", err)
http.Error(w, "refresh failed", http.StatusInternalServerError)
return
+10 -1
View File
@@ -11,6 +11,7 @@ import (
"testing"
"github.com/ewpt3ch/pkgstash/internal/cache"
"github.com/ewpt3ch/pkgstash/internal/repomaint"
)
var (
@@ -36,7 +37,10 @@ func newTestServer(t *testing.T, mirrorHandler http.HandlerFunc) (*httptest.Serv
mirror := httptest.NewServer(mirrorHandler)
t.Cleanup(func() { mirror.Close() })
c, err := cache.NewCache(t.TempDir(), []string{mirror.URL + "/"}, []string{"core"})
croot := t.TempDir()
mrepos := []string{"core"}
c, err := cache.NewCache(croot, []string{mirror.URL + "/"}, mrepos)
if err != nil {
t.Fatalf("failed to create cache: %v", err)
}
@@ -44,10 +48,15 @@ func newTestServer(t *testing.T, mirrorHandler http.HandlerFunc) (*httptest.Serv
Port: "0",
Token: "testtoken",
}
rs, err := repomaint.NewRepoSync(c, croot, mrepos)
if err != nil {
t.Fatalf("failed to create repomain: %v", err)
}
logLevel := new(slog.LevelVar)
srv := &Server{
cfg: cfg,
c: c,
rs: rs,
logLevel: logLevel,
}
+9 -1
View File
@@ -12,11 +12,13 @@ import (
"time"
"github.com/ewpt3ch/pkgstash/internal/cache"
"github.com/ewpt3ch/pkgstash/internal/repomaint"
)
type Server struct {
cfg *Config
c *cache.Cache
rs *repomaint.RepoSync
logLevel *slog.LevelVar
}
@@ -58,9 +60,15 @@ func main() {
}
defer c.Close() //nolint:errcheck // best effort cleanup on exit
rs, err := repomaint.NewRepoSync(c, cfg.CacheRoot, cfg.MirroredRepos)
if err != nil {
slog.Error("failed to create repomaint", "err", err)
}
srv := &Server{
cfg: cfg,
c: c,
rs: rs,
logLevel: logLevel,
}
@@ -69,7 +77,7 @@ func main() {
mux.HandleFunc("POST /api/refresh", srv.handlerRefresh)
mux.HandleFunc("POST /api/loglevel", srv.handlerLogLevel)
if err := srv.c.Refresh(); err != nil {
if err := srv.c.FetchDB(); err != nil {
slog.Error("failed to refesh db files", "err", err)
//nolint:errcheck //already exiting
_ = c.Close() // best effort cleanup on exit