Move setup -> settings

This commit is contained in:
soup 2024-11-15 14:13:12 -05:00
parent 46bf383ad2
commit c18537e82f
2 changed files with 16 additions and 16 deletions

View file

@ -52,8 +52,8 @@ func Routes() http.Handler {
mux := http.NewServeMux() mux := http.NewServeMux()
mux.Handle("GET /static/", ServeStatic()) mux.Handle("GET /static/", ServeStatic())
mux.HandleFunc("GET /{$}", HomeGet) mux.HandleFunc("GET /{$}", HomeGet)
mux.HandleFunc("GET /setup", SetupGet) mux.HandleFunc("GET /settings", SettingsGet)
mux.HandleFunc("POST /setup", SetupPost) mux.HandleFunc("POST /settings", SettingsPost)
mux.HandleFunc("GET /login", LoginGet) mux.HandleFunc("GET /login", LoginGet)
mux.HandleFunc("POST /login", LoginPost) mux.HandleFunc("POST /login", LoginPost)
mux.HandleFunc("DELETE /login", LoginDelete) mux.HandleFunc("DELETE /login", LoginDelete)

View file

@ -13,9 +13,9 @@ import (
"shelves/backend/templates" "shelves/backend/templates"
) )
func setupRenderView(f setupForm, e setupFormErrors) template.HTML { func settingsRenderView(f settingsForm, e settingsFormErrors) template.HTML {
body := templates.Form{ body := templates.Form{
Action: "/setup", Action: "/settings",
Fields: []templates.Field{ Fields: []templates.Field{
templates.Field{ templates.Field{
Label: "Display name", Label: "Display name",
@ -43,8 +43,8 @@ func setupRenderView(f setupForm, e setupFormErrors) template.HTML {
return templates.PageBase{Title: "Set up", Body: body.HTML()}.HTML() return templates.PageBase{Title: "Set up", Body: body.HTML()}.HTML()
} }
func queryGetOwnerSettings(db *sql.DB) (setupForm, error) { func queryGetOwnerSettings(db *sql.DB) (settingsForm, error) {
form := setupForm{} form := settingsForm{}
err := db.QueryRow(`select display_name from owner_settings`).Scan(&form.displayName) err := db.QueryRow(`select display_name from owner_settings`).Scan(&form.displayName)
if err == sql.ErrNoRows { if err == sql.ErrNoRows {
err = nil err = nil
@ -53,7 +53,7 @@ func queryGetOwnerSettings(db *sql.DB) (setupForm, error) {
return form, err return form, err
} }
func SetupGet(w http.ResponseWriter, r *http.Request) { func SettingsGet(w http.ResponseWriter, r *http.Request) {
ctx := httpx.GetCtx(r) ctx := httpx.GetCtx(r)
if !ctx.Session.IsAdmin && !ctx.NeedsOwnerSetup { if !ctx.Session.IsAdmin && !ctx.NeedsOwnerSetup {
httpx.LoginRedirect(w, *r.URL) httpx.LoginRedirect(w, *r.URL)
@ -66,20 +66,20 @@ func SetupGet(w http.ResponseWriter, r *http.Request) {
return return
} }
html(w, setupRenderView(form, setupFormErrors{})) html(w, settingsRenderView(form, settingsFormErrors{}))
} }
type setupForm struct { type settingsForm struct {
password string password string
displayName string displayName string
} }
type setupFormErrors struct { type settingsFormErrors struct {
password error password error
displayName error displayName error
} }
func parseForm(f *setupForm, e *setupFormErrors, vs url.Values, v *forms.Validator) { func parseForm(f *settingsForm, e *settingsFormErrors, vs url.Values, v *forms.Validator) {
f.password = vs.Get("password") f.password = vs.Get("password")
passwordConfirmation := vs.Get("passwordConfirmation") passwordConfirmation := vs.Get("passwordConfirmation")
f.displayName = vs.Get("displayName") f.displayName = vs.Get("displayName")
@ -100,7 +100,7 @@ func queryUpdateOwnerSettings(db *sql.DB, display_name string, password_salt []b
return err return err
} }
func updateOwnerSettings(db *sql.DB, f setupForm) error { func updateOwnerSettings(db *sql.DB, f settingsForm) error {
salt := make([]byte, 32) salt := make([]byte, 32)
_, err := rand.Read(salt) _, err := rand.Read(salt)
if err != nil { if err != nil {
@ -112,7 +112,7 @@ func updateOwnerSettings(db *sql.DB, f setupForm) error {
return queryUpdateOwnerSettings(db, f.displayName, salt, hash) return queryUpdateOwnerSettings(db, f.displayName, salt, hash)
} }
func SetupPost(w http.ResponseWriter, r *http.Request) { func SettingsPost(w http.ResponseWriter, r *http.Request) {
ctx := httpx.GetCtx(r) ctx := httpx.GetCtx(r)
if !ctx.Session.IsAdmin && !ctx.NeedsOwnerSetup { if !ctx.Session.IsAdmin && !ctx.NeedsOwnerSetup {
@ -120,15 +120,15 @@ func SetupPost(w http.ResponseWriter, r *http.Request) {
return return
} }
form := setupForm{} form := settingsForm{}
errs := setupFormErrors{} errs := settingsFormErrors{}
failed := forms.ParseFormData(r, func(vs url.Values, v *forms.Validator) { failed := forms.ParseFormData(r, func(vs url.Values, v *forms.Validator) {
parseForm(&form, &errs, vs, v) parseForm(&form, &errs, vs, v)
}) })
if failed { if failed {
w.WriteHeader(http.StatusBadRequest) w.WriteHeader(http.StatusBadRequest)
html(w, setupRenderView(form, errs)) html(w, settingsRenderView(form, errs))
return return
} }