diff --git a/appview/state/settings/settings.go b/appview/settings/settings.go similarity index 97% rename from appview/state/settings/settings.go rename to appview/settings/settings.go index 056ade6b..fb0372b1 100644 --- a/appview/state/settings/settings.go +++ b/appview/settings/settings.go @@ -32,18 +32,27 @@ type Settings struct { Config *appview.Config } -func (s *Settings) Router(r chi.Router) { +func (s *Settings) Router() http.Handler { + r := chi.NewRouter() + r.Use(middleware.AuthMiddleware(s.Auth)) r.Get("/", s.settings) - r.Put("/keys", s.keys) - r.Delete("/keys", s.keys) - r.Put("/emails", s.emails) - r.Delete("/emails", s.emails) - r.Get("/emails/verify", s.emailsVerify) - r.Post("/emails/verify/resend", s.emailsVerifyResend) - r.Post("/emails/primary", s.emailsPrimary) + r.Route("/keys", func(r chi.Router) { + r.Put("/", s.keys) + r.Delete("/", s.keys) + }) + + r.Route("/emails", func(r chi.Router) { + r.Put("/", s.emails) + r.Delete("/", s.emails) + r.Get("/verify", s.emailsVerify) + r.Post("/verify/resend", s.emailsVerifyResend) + r.Post("/primary", s.emailsPrimary) + }) + + return r } func (s *Settings) settings(w http.ResponseWriter, r *http.Request) { diff --git a/appview/state/router.go b/appview/state/router.go index f45898c0..97ae61e6 100644 --- a/appview/state/router.go +++ b/appview/state/router.go @@ -6,7 +6,7 @@ import ( "github.com/go-chi/chi/v5" "tangled.sh/tangled.sh/core/appview/middleware" - "tangled.sh/tangled.sh/core/appview/state/settings" + "tangled.sh/tangled.sh/core/appview/settings" "tangled.sh/tangled.sh/core/appview/state/userutil" ) @@ -221,7 +221,7 @@ func (s *State) StandardRouter() http.Handler { r.Delete("/", s.Star) }) - r.Route("/settings", s.SettingsRouter) + r.Mount("/settings", s.SettingsRouter()) r.Get("/keys/{user}", s.Keys) @@ -231,7 +231,7 @@ func (s *State) StandardRouter() http.Handler { return r } -func (s *State) SettingsRouter(r chi.Router) { +func (s *State) SettingsRouter() http.Handler { settings := &settings.Settings{ Db: s.db, Auth: s.auth, @@ -239,5 +239,5 @@ func (s *State) SettingsRouter(r chi.Router) { Config: s.config, } - settings.Router(r) + return settings.Router() } diff --git a/flake.lock b/flake.lock index d8de6b0f..e3d83865 100644 --- a/flake.lock +++ b/flake.lock @@ -48,11 +48,11 @@ "indigo": { "flake": false, "locked": { - "lastModified": 1738491661, - "narHash": "sha256-+njDigkvjH4XmXZMog5Mp0K4x9mamHX6gSGJCZB9mE4=", + "lastModified": 1745333930, + "narHash": "sha256-83fIHqDE+dfnZ88HaNuwfKFO+R0RKAM1WxMfNh/Matk=", "owner": "oppiliappan", "repo": "indigo", - "rev": "feb802f02a462ac0a6392ffc3e40b0529f0cdf71", + "rev": "e4e59280737b8676611fc077a228d47b3e8e9491", "type": "github" }, "original": {