diff --git a/utils/pagination/pagination.go b/utils/pagination/pagination.go index 6a3067c8..ecce6c8c 100644 --- a/utils/pagination/pagination.go +++ b/utils/pagination/pagination.go @@ -132,3 +132,29 @@ func (p *Pagination) getLang() string { } return ulang } + +type Page struct { + PageNo int `json:"PageNo"` + PageSize int `json:"PageSize"` + TotalPage int `json:"TotalPage"` + TotalCount int `json:"TotalCount"` + FirstPage bool `json:"FirstPage"` + LastPage bool `json:"LastPage"` + List interface{} `json:"List"` +} + +func PageUtil(count int, pageNo int, pageSize int, list interface{}) Page { + tp := count / pageSize + if count%pageSize > 0 { + tp = count/pageSize + 1 + } + return Page { + PageNo: pageNo, + PageSize: pageSize, + TotalPage: tp, + TotalCount: count, + FirstPage: pageNo == 1, + LastPage: pageNo == tp, + List: list, + } +}