2 Commits

Author SHA1 Message Date
5558d42bdb fixed #2 2026-06-09 14:44:28 +02:00
b74df36bda fixed #4 2026-06-09 14:40:49 +02:00
2 changed files with 32 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package frontend package frontend
import ( import (
"MiauInv/storage"
"html/template" "html/template"
"net/http" "net/http"
"os" "os"
@@ -53,7 +54,28 @@ func Home(w http.ResponseWriter, r *http.Request) {
func Dashboard(w http.ResponseWriter, r *http.Request) { func Dashboard(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/html") w.Header().Set("Content-Type", "text/html")
err := dashboard.ExecuteTemplate(w, "base.html", struct {
var itemHive, projectHive, locationHive int
err := storage.DB.QueryRow("SELECT COUNT(*) FROM items").Scan(&itemHive)
if err != nil {
http.Error(w, "Failed to count items", http.StatusInternalServerError)
return
}
err = storage.DB.QueryRow("SELECT COUNT(*) FROM projects").Scan(&projectHive)
if err != nil {
http.Error(w, "Failed to count projects", http.StatusInternalServerError)
return
}
err = storage.DB.QueryRow("SELECT COUNT(*) FROM locations").Scan(&locationHive)
if err != nil {
http.Error(w, "Failed to count locations", http.StatusInternalServerError)
return
}
err = dashboard.ExecuteTemplate(w, "base.html", struct {
Title string Title string
Stats struct { Stats struct {
Items int Items int
@@ -67,9 +89,9 @@ func Dashboard(w http.ResponseWriter, r *http.Request) {
Projects int Projects int
Locations int Locations int
}{ }{
Items: 1, Items: itemHive,
Projects: 1, Projects: projectHive,
Locations: 3, Locations: locationHive,
}, },
}) })
if err != nil { if err != nil {

View File

@@ -30,6 +30,12 @@ func APIRegister(w http.ResponseWriter, r *http.Request) {
return return
} }
if len(user.Password) > 72 {
log.Println("POST [api/register] User password too long")
http.Error(w, "Password exceeds the maximum allowed length of 72 characters", http.StatusUnprocessableEntity)
return
}
hashed, err := auth.HashPassword(user.Password) hashed, err := auth.HashPassword(user.Password)
if err != nil { if err != nil {
log.Println("POST [api/register] " + r.RemoteAddr + ": " + err.Error()) log.Println("POST [api/register] " + r.RemoteAddr + ": " + err.Error())