package api import ( "git.aiterp.net/stufflog3/stufflog3-api/internal/slerrors" "github.com/gin-gonic/gin" "strconv" ) func handler(key string, callback func(c *gin.Context) (interface{}, error)) gin.HandlerFunc { return func(c *gin.Context) { res, err := callback(c) if err != nil { slerrors.Respond(c, err) return } resJson := make(map[string]interface{}, 1) resJson[key] = res c.JSON(200, resJson) } } func reqInt(c *gin.Context, key string) (int, error) { v, err := strconv.Atoi(c.Param(key)) if err != nil { return 0, slerrors.BadRequest(key + " parameter must be a number") } return v, nil }