package pagination

import (
	"github.com/gin-gonic/gin"
	"github.com/pingcap/dbaas/billing2/billing_errors"
)

type Pagination struct {
	Page     int `form:"page,default=1,min=1,max=100"`
	PageSize int `form:"page_size,default=20,min=1,max=100"`
}

func GetPagination(c *gin.Context) (*Pagination, error) {
	pagination := &Pagination{}
	if err := c.ShouldBindQuery(pagination); err != nil {
		return nil, billing_errors.NewInvalidInputError(err)
	}
	return pagination, nil
}
