mirror of
https://github.com/gotify/server.git
synced 2026-05-06 13:31:22 +08:00
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)
18 lines
314 B
Go
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"))
|
|
}
|
|
}
|