forked from tangled.org/core
this repo has no description

appview: settings: use `chi.Router.Mount`

and move appview/state/settings to appview/settings

Changed files
+24 -15
appview
settings
state
+4 -4
appview/state/router.go
··· 6 6 7 7 "github.com/go-chi/chi/v5" 8 8 "tangled.sh/tangled.sh/core/appview/middleware" 9 - "tangled.sh/tangled.sh/core/appview/state/settings" 9 + "tangled.sh/tangled.sh/core/appview/settings" 10 10 "tangled.sh/tangled.sh/core/appview/state/userutil" 11 11 ) 12 12 ··· 221 221 r.Delete("/", s.Star) 222 222 }) 223 223 224 - r.Route("/settings", s.SettingsRouter) 224 + r.Mount("/settings", s.SettingsRouter()) 225 225 226 226 r.Get("/keys/{user}", s.Keys) 227 227 ··· 231 231 return r 232 232 } 233 233 234 - func (s *State) SettingsRouter(r chi.Router) { 234 + func (s *State) SettingsRouter() http.Handler { 235 235 settings := &settings.Settings{ 236 236 Db: s.db, 237 237 Auth: s.auth, ··· 239 239 Config: s.config, 240 240 } 241 241 242 - settings.Router(r) 242 + return settings.Router() 243 243 }
+17 -8
appview/state/settings/settings.go appview/settings/settings.go
··· 32 32 Config *appview.Config 33 33 } 34 34 35 - func (s *Settings) Router(r chi.Router) { 35 + func (s *Settings) Router() http.Handler { 36 + r := chi.NewRouter() 37 + 36 38 r.Use(middleware.AuthMiddleware(s.Auth)) 37 39 38 40 r.Get("/", s.settings) 39 - r.Put("/keys", s.keys) 40 - r.Delete("/keys", s.keys) 41 - r.Put("/emails", s.emails) 42 - r.Delete("/emails", s.emails) 43 - r.Get("/emails/verify", s.emailsVerify) 44 - r.Post("/emails/verify/resend", s.emailsVerifyResend) 45 - r.Post("/emails/primary", s.emailsPrimary) 41 + 42 + r.Route("/keys", func(r chi.Router) { 43 + r.Put("/", s.keys) 44 + r.Delete("/", s.keys) 45 + }) 46 + 47 + r.Route("/emails", func(r chi.Router) { 48 + r.Put("/", s.emails) 49 + r.Delete("/", s.emails) 50 + r.Get("/verify", s.emailsVerify) 51 + r.Post("/verify/resend", s.emailsVerifyResend) 52 + r.Post("/primary", s.emailsPrimary) 53 + }) 46 54 55 + return r 47 56 } 48 57 49 58 func (s *Settings) settings(w http.ResponseWriter, r *http.Request) {
+3 -3
flake.lock
··· 48 48 "indigo": { 49 49 "flake": false, 50 50 "locked": { 51 - "lastModified": 1738491661, 52 - "narHash": "sha256-+njDigkvjH4XmXZMog5Mp0K4x9mamHX6gSGJCZB9mE4=", 51 + "lastModified": 1745333930, 52 + "narHash": "sha256-83fIHqDE+dfnZ88HaNuwfKFO+R0RKAM1WxMfNh/Matk=", 53 53 "owner": "oppiliappan", 54 54 "repo": "indigo", 55 - "rev": "feb802f02a462ac0a6392ffc3e40b0529f0cdf71", 55 + "rev": "e4e59280737b8676611fc077a228d47b3e8e9491", 56 56 "type": "github" 57 57 }, 58 58 "original": {