|
|
@ -2,36 +2,85 @@ package admin |
|
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
import ( |
|
|
|
"maps" |
|
|
|
"maps" |
|
|
|
"fmt" |
|
|
|
"strconv" |
|
|
|
"github.com/gofiber/fiber/v2" |
|
|
|
"github.com/gofiber/fiber/v2" |
|
|
|
"zedshaw.games/webapp/data" |
|
|
|
"zedshaw.games/webapp/data" |
|
|
|
"zedshaw.games/webapp/api" |
|
|
|
"zedshaw.games/webapp/api" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
func GetPageIndex(c *fiber.Ctx) error { |
|
|
|
func GetApiTableIndex(c *fiber.Ctx) error { |
|
|
|
var tables []string |
|
|
|
var tables []string |
|
|
|
|
|
|
|
|
|
|
|
for k := range maps.Keys(data.Models()) { |
|
|
|
for k := range maps.Keys(data.Models()) { |
|
|
|
tables = append(tables, k) |
|
|
|
tables = append(tables, k) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return c.Render("admin/index", fiber.Map{"Tables": tables}) |
|
|
|
return c.JSON(tables) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func GetPageTableIndex(c *fiber.Ctx) error { |
|
|
|
func GetApiSelectAll(c *fiber.Ctx) error { |
|
|
|
table := c.Params("table") |
|
|
|
table := c.Params("table") |
|
|
|
if table == "" { return c.Redirect("/admin/") } |
|
|
|
if table == "" { return c.Redirect("/admin/") } |
|
|
|
|
|
|
|
|
|
|
|
fmt.Println("table: ", table) |
|
|
|
|
|
|
|
type_is := data.Models()[table] |
|
|
|
type_is := data.Models()[table] |
|
|
|
|
|
|
|
|
|
|
|
result, err := SelectTable(table, type_is, 20, 0); |
|
|
|
result, err := SelectTable(table, type_is, 20, 0); |
|
|
|
if err != nil { return api.IfErrNil(err, c) } |
|
|
|
if err != nil { return api.IfErrNil(err, c) } |
|
|
|
|
|
|
|
|
|
|
|
return c.Render("admin/table/index", fiber.Map{"Table": result}) |
|
|
|
return c.JSON(result) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func GetPageSelectAll(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
return c.Render("admin/table/contents", fiber.Map{"Table": c.Params("table")}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func GetApiSelectOne(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
table := c.Params("table") |
|
|
|
|
|
|
|
id, err := strconv.ParseInt(c.Params("id"), 10, 64) |
|
|
|
|
|
|
|
if err != nil { return api.IfErrNil(err, c) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
type_is := data.Models()[table] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result, err := Get(table, type_is, id) |
|
|
|
|
|
|
|
if err != nil { return api.IfErrNil(err, c) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return c.JSON(result.Interface()) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func GetPageSelectOne(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
table := c.Params("table") |
|
|
|
|
|
|
|
id, err := strconv.ParseInt(c.Params("id"), 10, 64) |
|
|
|
|
|
|
|
if err != nil { return api.IfErrNil(err, c) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return c.Render("admin/table/view", fiber.Map{ |
|
|
|
|
|
|
|
"Table": table, |
|
|
|
|
|
|
|
"Id": id, |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func PostApiUpdate(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
return c.JSON(fiber.Map{}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func PutApiInsert(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
return c.JSON(fiber.Map{}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func DeleteApi(c *fiber.Ctx) error { |
|
|
|
|
|
|
|
return c.JSON(fiber.Map{}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func Setup(app *fiber.App) { |
|
|
|
func Setup(app *fiber.App) { |
|
|
|
app.Get("/admin/", GetPageIndex); |
|
|
|
app.Get("/api/admin/table/", GetApiTableIndex) |
|
|
|
app.Get("/admin/table/:table/", GetPageTableIndex); |
|
|
|
|
|
|
|
|
|
|
|
app.Get("/api/admin/table/:table/", GetApiSelectAll) |
|
|
|
|
|
|
|
app.Get("/admin/table/:table/", GetPageSelectAll) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.Get("/api/admin/table/:table/:id/", GetApiSelectOne) |
|
|
|
|
|
|
|
app.Get("/admin/table/:table/:id/", GetPageSelectOne) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.Post("/api/admin/table/:table/:id/", PostApiUpdate) |
|
|
|
|
|
|
|
app.Put("/api/admin/table/:table/:id/", PutApiInsert) |
|
|
|
|
|
|
|
app.Delete("/api/admin/table/:table/:id/", DeleteApi) |
|
|
|
} |
|
|
|
} |
|
|
|