28 lines
419 B
Go

package helpers
type Pagination struct {
Page int
PerPage int
Total int
}
func (p Pagination) Offset() int {
return (p.Page - 1) * p.PerPage
}
func (p Pagination) TotalPages() int {
pages := (p.Total + p.PerPage - 1) / p.PerPage
if pages < 1 {
return 1
}
return pages
}
func (p Pagination) HasNext() bool {
return p.Page < p.TotalPages()
}
func (p Pagination) HasPrev() bool {
return p.Page > 1
}