diff --git a/admin/db.go b/admin/db.go
index b3930bb..7f67f20 100644
--- a/admin/db.go
+++ b/admin/db.go
@@ -85,7 +85,7 @@ func Update(table string, value reflect.Value) error {
builder = builder.Set(tag, field.Interface())
}
- builder.Where(sq.Eq{"id": value.FieldByName("Id").Interface()})
+ builder = builder.Where(sq.Eq{"id": value.FieldByName("Id").Interface()})
sql_query, args, err := builder.ToSql()
fmt.Println("UPDATE QUERY", sql_query, args)
diff --git a/admin/handlers.go b/admin/handlers.go
index 5b8b20d..3727b47 100644
--- a/admin/handlers.go
+++ b/admin/handlers.go
@@ -3,6 +3,8 @@ package admin
import (
"maps"
"strconv"
+ "fmt"
+ "reflect"
"github.com/gofiber/fiber/v2"
"zedshaw.games/webapp/data"
. "zedshaw.games/webapp/common"
@@ -59,7 +61,14 @@ func GetPageSelectOne(c *fiber.Ctx) error {
}
func PostApiUpdate(c *fiber.Ctx) error {
- return c.JSON(fiber.Map{})
+ user, err := ReceivePost[data.User](c)
+ if err != nil { return IfErrNil(err, c) }
+ fmt.Println("post received", user)
+
+ err = Update(c.Params("table"), reflect.ValueOf(user).Elem())
+ if err != nil { return IfErrNil(err, c) }
+
+ return c.JSON(fiber.Map{"status": "ok"})
}
func PutApiInsert(c *fiber.Ctx) error {
diff --git a/data/models.go b/data/models.go
index 620f5dc..5c63c88 100644
--- a/data/models.go
+++ b/data/models.go
@@ -8,7 +8,7 @@ type Login struct {
}
type User struct {
- Id int `db:"id" json:"id" validate:"isdefault"`
+ Id int `db:"id" json:"id" validate:"numeric"`
Username string `db:"username" validate:"required,max=30"`
Email string `db:"email" validate:"required,email,max=128"`
Password string `db:"password" validate:"required,min=8,max=64"`
diff --git a/pages/layouts/main.html b/pages/layouts/main.html
index b157cba..4364f38 100644
--- a/pages/layouts/main.html
+++ b/pages/layouts/main.html
@@ -6,7 +6,7 @@
-
+
diff --git a/static/js/code.js b/static/js/code.js
index 9927262..4649d54 100644
--- a/static/js/code.js
+++ b/static/js/code.js
@@ -1,4 +1,3 @@
-
class GetJson {
constructor(url) {
this.url = url;
diff --git a/views/admin/table/view.html b/views/admin/table/view.html
index 117094e..37e3171 100644
--- a/views/admin/table/view.html
+++ b/views/admin/table/view.html
@@ -1,31 +1,43 @@
Admin Tables
-
+
diff --git a/views/layouts/main.html b/views/layouts/main.html
index 49ee0b1..ba51096 100644
--- a/views/layouts/main.html
+++ b/views/layouts/main.html
@@ -6,7 +6,7 @@
-
+