39 lines
738 B
Go
39 lines
738 B
Go
package handler
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func page(c *gin.Context) (int, int, error) {
|
|
var value, size int
|
|
if raw, exists := c.GetQuery("page"); exists && raw != "" {
|
|
parsed, err := strconv.Atoi(raw)
|
|
if err != nil {
|
|
return 0, 0, err
|
|
}
|
|
value = parsed
|
|
}
|
|
if raw, exists := c.GetQuery("pageSize"); exists && raw != "" {
|
|
parsed, err := strconv.Atoi(raw)
|
|
if err != nil {
|
|
return 0, 0, err
|
|
}
|
|
size = parsed
|
|
}
|
|
return value, size, nil
|
|
}
|
|
|
|
func IDsFromQuery(c *gin.Context) []uint {
|
|
values := c.QueryArray("IDs[]")
|
|
ids := make([]uint, 0, len(values))
|
|
for _, value := range values {
|
|
id, _ := strconv.ParseUint(value, 10, 64)
|
|
if id > 0 {
|
|
ids = append(ids, uint(id))
|
|
}
|
|
}
|
|
return ids
|
|
}
|