Add support for offset in table rows endpoint, dry up code

This commit is contained in:
Dan Sosedoff
2016-01-07 21:18:22 -06:00
parent 9b5764d4fb
commit 61523e33df
3 changed files with 36 additions and 17 deletions

View File

@@ -4,7 +4,6 @@ import (
"encoding/base64"
"errors"
"fmt"
"strconv"
"strings"
"time"
@@ -109,27 +108,21 @@ func GetTable(c *gin.Context) {
}
func GetTableRows(c *gin.Context) {
limit := 1000 // Number of rows to fetch
limitVal := c.Request.FormValue("limit")
offset, err := parseIntFormValue(c, "offset", 0)
if err != nil {
c.JSON(400, NewError(err))
return
}
if limitVal != "" {
num, err := strconv.Atoi(limitVal)
if err != nil {
c.JSON(400, Error{"Invalid limit value"})
return
}
if num <= 0 {
c.JSON(400, Error{"Limit should be greater than 0"})
return
}
limit = num
limit, err := parseIntFormValue(c, "limit", 100)
if err != nil {
c.JSON(400, NewError(err))
return
}
opts := client.RowsOptions{
Limit: limit,
Offset: offset,
SortColumn: c.Request.FormValue("sort_column"),
SortOrder: c.Request.FormValue("sort_order"),
}