Files
server/api/internalutil.go
Jannis Mattheis d45e0da6a8 Allow delete for > uint32 ids
For ids uint is used, this is platform specific and either uint32
or uint64. The parsing for parameters in the api expected the ids to
have 32bit size.

I thought about changing all our ids to int64 but we sadly have one uint
usage in the plugin api:
b0e2eca8e3/plugin.go (L13-L14)
2020-07-01 19:44:06 +02:00

18 lines
314 B
Go

package api
import (
"errors"
"math/bits"
"strconv"
"github.com/gin-gonic/gin"
)
func withID(ctx *gin.Context, name string, f func(id uint)) {
if id, err := strconv.ParseUint(ctx.Param(name), 10, bits.UintSize); err == nil {
f(uint(id))
} else {
ctx.AbortWithError(400, errors.New("invalid id"))
}
}