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

-
- -

{{ .Table }} : {{ .Id }}

- - - - - - - - - - -
-
+
+ +

{{ .Table }} : {{ .Id }}

+ + + + + + + + + + +
+
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 @@ - +