Added ability to add user

This commit is contained in:
2024-02-24 10:28:12 +01:00
parent 2e08600814
commit 8ef6b6472d
6 changed files with 76 additions and 31 deletions

16
cmd/ui/helpers.go Normal file
View File

@ -0,0 +1,16 @@
package ui
func checkUserStrings(user, first, last string) (string, int, bool) {
userLen := 15
nameLen := 50
if len(user) > userLen {
return user, userLen, false
} else if len(first) > nameLen {
return first, nameLen, false
} else if len(last) > nameLen {
return last, nameLen, false
} else {
return "", 0, true
}
}

1
cmd/ui/htmlStructs.go Normal file
View File

@ -0,0 +1 @@
package ui

View File

@ -45,3 +45,43 @@ func HandleFinishedEdit(f *feed.Feed) http.HandlerFunc {
// template.Must(template.ParseFiles("web/templates/editor.html")).ExecuteTemplate(w, "html-result", rssItem)
}
}
func HandleAddUser(db *data.DB) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var writer, editor, admin bool
user := r.PostFormValue("username")
pass := r.PostFormValue("password")
pass2 := r.PostFormValue("password2")
first := r.PostFormValue("first-name")
last := r.PostFormValue("last-name")
role := r.PostFormValue("role")
_, _, ok := checkUserStrings(user, first, last)
if !ok {
template.Must(template.ParseFiles("web/templates/add-user.html")).Execute(w, nil)
}
if pass != pass2 {
template.Must(template.ParseFiles("web/templates/add-user.html")).Execute(w, nil)
}
switch role {
case "writer":
writer = true
editor = false
admin = false
case "editor":
writer = false
editor = true
admin = false
case "admin":
writer = false
editor = false
admin = true
default:
template.Must(template.ParseFiles("web/templates/add-user.html")).Execute(w, nil)
}
db.AddUser(user, pass, first, last, writer, editor, admin)
template.Must(template.ParseFiles("web/templates/editor.html")).Execute(w, nil)
}
}