|
|
|
|
@ -3,7 +3,6 @@ package features_admin |
|
|
|
|
import ( |
|
|
|
|
"maps" |
|
|
|
|
"reflect" |
|
|
|
|
"fmt" |
|
|
|
|
"github.com/gofiber/fiber/v2" |
|
|
|
|
"MY/webapp/data" |
|
|
|
|
. "MY/webapp/common" |
|
|
|
|
@ -27,7 +26,9 @@ func GetApiSelectAll(c *fiber.Ctx) error { |
|
|
|
|
if err != nil { return c.Redirect("/") } |
|
|
|
|
|
|
|
|
|
table := c.Params("table") |
|
|
|
|
if table == "" { return c.Redirect("/admin/table/") } |
|
|
|
|
if table == "" { |
|
|
|
|
return c.Redirect("/admin/table/") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
page := c.QueryInt("page", 0) |
|
|
|
|
if page < 0 { page = 0 } |
|
|
|
|
@ -95,19 +96,26 @@ func GetApiInsert(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
|
|
func PostApiInsert(c *fiber.Ctx) error { |
|
|
|
|
_, err := AuthCheck(c, true) |
|
|
|
|
if err != nil { return c.Redirect("/") } |
|
|
|
|
if err != nil { |
|
|
|
|
return ApiError(c, "login required")
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
table := c.Params("table") |
|
|
|
|
|
|
|
|
|
typeOf := data.Models()[table] |
|
|
|
|
obj, err := ReflectOnPost(typeOf, c) |
|
|
|
|
if err != nil { return IfErrNil(err, c) } |
|
|
|
|
|
|
|
|
|
if err != nil { |
|
|
|
|
return ApiError(c, "failed reflect")
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
id, _, err := Insert(table, obj.Elem()) |
|
|
|
|
|
|
|
|
|
if err != nil { return IfErrNil(err, c) } |
|
|
|
|
if err != nil {
|
|
|
|
|
return ApiError(c, "failed insert")
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return c.Redirect(fmt.Sprintf("/admin/table/%s/%d/", table, id), 303) |
|
|
|
|
return c.JSON(fiber.Map{ "id": id, "table": table}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func DeleteApi(c *fiber.Ctx) error { |
|
|
|
|
|