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
···
"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/state/userutil"
)
···
r.Delete("/", s.Star)
})
-
r.Route("/settings", s.SettingsRouter)
r.Get("/keys/{user}", s.Keys)
···
return r
}
-
func (s *State) SettingsRouter(r chi.Router) {
settings := &settings.Settings{
Db: s.db,
Auth: s.auth,
···
Config: s.config,
}
-
settings.Router(r)
}
···
"github.com/go-chi/chi/v5"
"tangled.sh/tangled.sh/core/appview/middleware"
+
"tangled.sh/tangled.sh/core/appview/settings"
"tangled.sh/tangled.sh/core/appview/state/userutil"
)
···
r.Delete("/", s.Star)
})
+
r.Mount("/settings", s.SettingsRouter())
r.Get("/keys/{user}", s.Keys)
···
return r
}
+
func (s *State) SettingsRouter() http.Handler {
settings := &settings.Settings{
Db: s.db,
Auth: s.auth,
···
Config: s.config,
}
+
return settings.Router()
}
+17 -8
appview/state/settings/settings.go appview/settings/settings.go
···
Config *appview.Config
}
-
func (s *Settings) Router(r chi.Router) {
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)
}
func (s *Settings) settings(w http.ResponseWriter, r *http.Request) {
···
Config *appview.Config
}
+
func (s *Settings) Router() http.Handler {
+
r := chi.NewRouter()
+
r.Use(middleware.AuthMiddleware(s.Auth))
r.Get("/", s.settings)
+
+
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) {
+3 -3
flake.lock
···
"indigo": {
"flake": false,
"locked": {
-
"lastModified": 1738491661,
-
"narHash": "sha256-+njDigkvjH4XmXZMog5Mp0K4x9mamHX6gSGJCZB9mE4=",
"owner": "oppiliappan",
"repo": "indigo",
-
"rev": "feb802f02a462ac0a6392ffc3e40b0529f0cdf71",
"type": "github"
},
"original": {
···
"indigo": {
"flake": false,
"locked": {
+
"lastModified": 1745333930,
+
"narHash": "sha256-83fIHqDE+dfnZ88HaNuwfKFO+R0RKAM1WxMfNh/Matk=",
"owner": "oppiliappan",
"repo": "indigo",
+
"rev": "e4e59280737b8676611fc077a228d47b3e8e9491",
"type": "github"
},
"original": {