package handlers import ( "log/slog" "net/http" "warpbox.dev/backend/libs/config" "warpbox.dev/backend/libs/services" "warpbox.dev/backend/libs/web" ) type App struct { cfg config.Config logger *slog.Logger renderer *web.Renderer uploadService *services.UploadService } func NewApp(cfg config.Config, logger *slog.Logger, renderer *web.Renderer, uploadService *services.UploadService) *App { return &App{ cfg: cfg, logger: logger, renderer: renderer, uploadService: uploadService, } } func (a *App) RegisterRoutes(mux *http.ServeMux) { mux.HandleFunc("GET /", a.Home) mux.HandleFunc("GET /healthz", a.Health) mux.HandleFunc("GET /api/v1/health", a.Health) mux.HandleFunc("POST /api/v1/upload", a.UploadPlaceholder) mux.Handle("GET /static/", a.Static()) }