Monorepo for Tangled tangled.org

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