40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package web
|
|
|
|
import (
|
|
"github.com/go-chi/chi/v5"
|
|
"net/http"
|
|
)
|
|
|
|
func (ui *Handler) Routes() http.Handler {
|
|
r := chi.NewRouter()
|
|
|
|
r.Get("/login", ui.LoginHandler)
|
|
r.Post("/login", ui.LoginHandler)
|
|
r.Get("/auth", ui.SetupHandler)
|
|
r.Post("/auth", ui.SetupHandler)
|
|
|
|
r.Group(func(r chi.Router) {
|
|
r.Use(ui.authMiddleware)
|
|
r.Get("/", ui.IndexHandler)
|
|
r.Get("/download", ui.DownloadHandler)
|
|
r.Get("/repair", ui.RepairHandler)
|
|
r.Get("/config", ui.ConfigHandler)
|
|
r.Route("/internal", func(r chi.Router) {
|
|
r.Get("/arrs", ui.handleGetArrs)
|
|
r.Post("/add", ui.handleAddContent)
|
|
r.Post("/repair", ui.handleRepairMedia)
|
|
r.Get("/repair/jobs", ui.handleGetRepairJobs)
|
|
r.Post("/repair/jobs/{id}/process", ui.handleProcessRepairJob)
|
|
r.Delete("/repair/jobs", ui.handleDeleteRepairJob)
|
|
r.Get("/torrents", ui.handleGetTorrents)
|
|
r.Delete("/torrents/{category}/{hash}", ui.handleDeleteTorrent)
|
|
r.Delete("/torrents/", ui.handleDeleteTorrents)
|
|
r.Get("/config", ui.handleGetConfig)
|
|
r.Post("/config", ui.handleUpdateConfig)
|
|
r.Get("/version", ui.handleGetVersion)
|
|
})
|
|
})
|
|
|
|
return r
|
|
}
|